Files
RestKit/Code/Search/RKManagedObjectStore+RKSearchAdditions.h

81 lines
3.1 KiB
Objective-C

//
// RKManagedObjectStore+RKSearchAdditions.h
// RestKit
//
// Created by Blake Watters on 7/27/12.
// Copyright (c) 2009-2012 RestKit. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#import "RKManagedObjectStore.h"
#import "RKSearchIndexer.h"
/**
The search additions category provides support for configuring search indexing
for entities in a managed object store.
*/
@interface RKManagedObjectStore (RKSearchAdditions)
/**
Adds search indexing to the entity for the given name in the receiver's managed object model.
Invocation of this method will result in the entity for the given name being updated to include a new
to-many relationship with the name 'searchWords'. The receiver's search indexer will also be instructed
to begin monitoring changes to the specified entity's searchable attributes to maintain the collection
of search words. If no search indexer exists, a new
@param entityName The name of the entity in the receiver's managed object model that should be made searchable.
@param attributes An array of NSAttributeDescription objects or NSString attribute names specifying the
NSStringAttributeType attributes that are to be indexed for searching.
@warning Must be invoked before adding persistent stores as the managed object model will become
immutable once the persistent store coordinator is created.
*/
- (void)addSearchIndexingToEntityForName:(NSString *)entityName onAttributes:(NSArray *)attributes;
/**
The search indexer for the receiver's primary managed object context.
A search indexer is instantiated when search indexing is added to an entity
in the receiver's managed object model.
*/
@property (nonatomic, readonly) RKSearchIndexer *searchIndexer;
/**
Tells the search indexer to begin observing the primary managed object context for changes to searchable
entities and updating the search words.
This is a convenience method that is equivalent to the following example code:
RKSearchIndexer *searchIndexer = managedObjectStore.searchIndexer;
[searchIndexer startObservingManagedObjectContext:managedObjectStore.primaryManagedObjectContext];
@see RKSearchIndexer
*/
- (void)startIndexingPrimaryManagedObjectContext;
/**
Tells the search indexer to stop observing the primary managed object context for changes to searchable entities.
This is a convenience method that is equivalent to the following example code:
RKSearchIndexer *searchIndexer = managedObjectStore.searchIndexer;
[searchIndexer stopObservingManagedObjectContext:managedObjectStore.primaryManagedObjectContext];
@see RKSearchIndexer
*/
- (void)stopIndexingPrimaryManagedObjectContext;
@end