mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-02 17:57:22 +08:00
54 lines
1.8 KiB
Objective-C
54 lines
1.8 KiB
Objective-C
/*
|
|
* RKObjectMappable.h
|
|
* RestKit
|
|
*
|
|
* Created by Blake Watters on 8/14/09.
|
|
* Copyright 2009 Two Toasters. All rights reserved.
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* Must be implemented by all classes utilizing the RKModelMapper to map REST
|
|
* responses to domain model classes
|
|
*/
|
|
@protocol RKObjectMappable
|
|
|
|
/**
|
|
* Must return a dictionary containing mapping from XML element names to property accessors
|
|
*/
|
|
+ (NSDictionary*)elementToPropertyMappings;
|
|
|
|
/**
|
|
* Must return a dictionary mapping XML element names to related object accessors. Must
|
|
* return an empty dictionary if there are no related objects.
|
|
*
|
|
* To differentiate between single associated objects and collections, use descendent
|
|
* selectors. For example, given a Project model associated with a user and a collection
|
|
* of tasks:
|
|
*
|
|
* [NSDictionary dictionaryWithObject:@"user" forKey:@"user"];
|
|
* Will map from an XML element named user to the user property on the model instance.
|
|
*
|
|
* [NSDictionary dictionaryWithObject:@"tasks" forKey:@"tasks > task"];
|
|
* Will map from the collection of XML elements named task nested under the tasks element
|
|
* to the tasks property on the model instance. The assigned collection is assumed to be an NSSet.
|
|
*/
|
|
+ (NSDictionary*)elementToRelationshipMappings;
|
|
|
|
@optional
|
|
|
|
/**
|
|
* Return a dictionary of values to be serialized for submission to a remote resource. The router
|
|
* will encode these parameters into a serialization format (form encoded, JSON, etc). This is
|
|
* required to use putObject: and postObject: for updating and creating remote object representations.
|
|
*/
|
|
- (NSDictionary*)paramsForSerialization;
|
|
|
|
/**
|
|
* Must return a new autoreleased instance of the model class ready for mapping. Used to initialize the model
|
|
* via any method other than alloc & init.
|
|
*/
|
|
+ (id)object;
|
|
|
|
@end
|