AWSMTLJSONAdapter
Objective-C
@interface AWSMTLJSONAdapter : NSObject
// The model object that the receiver was initialized with, or that the receiver
// parsed from a JSON dictionary.
@property (nonatomic, strong, readonly) AWSMTLModel<AWSMTLJSONSerializing> *model;
// Attempts to parse a JSON dictionary into a model object.
//
// modelClass - The MTLModel subclass to attempt to parse from the JSON.
// This class must conform to <MTLJSONSerializing>. This
// argument must not be nil.
// JSONDictionary - A dictionary representing JSON data. This should match the
// format returned by NSJSONSerialization. If this argument is
// nil, the method returns nil.
// error - If not NULL, this may be set to an error that occurs during
// parsing or initializing an instance of `modelClass`.
//
// Returns an instance of `modelClass` upon success, or nil if a parsing error
// occurred.
+ (id)modelOfClass:(Class)modelClass fromJSONDictionary:(NSDictionary *)JSONDictionary error:(NSError **)error;
// Attempts to parse an array of JSON dictionary objects into a model objects
// of a specific class.
//
// modelClass - The MTLModel subclass to attempt to parse from the JSON. This
// class must conform to <MTLJSONSerializing>. This argument must
// not be nil.
// JSONArray - A array of dictionaries representing JSON data. This should
// match the format returned by NSJSONSerialization. If this
// argument is nil, the method returns nil.
// error - If not NULL, this may be set to an error that occurs during
// parsing or initializing an any of the instances of
// `modelClass`.
//
// Returns an array of `modelClass` instances upon success, or nil if a parsing
// error occurred.
+ (NSArray *)modelsOfClass:(Class)modelClass fromJSONArray:(NSArray *)JSONArray error:(NSError **)error;
// Converts a model into a JSON representation.
//
// model - The model to use for JSON serialization. This argument must not be
// nil.
//
// Returns a JSON dictionary, or nil if a serialization error occurred.
+ (NSDictionary *)JSONDictionaryFromModel:(AWSMTLModel<AWSMTLJSONSerializing> *)model;
// Converts a array of models into a JSON representation.
//
// models - The array of models to use for JSON serialization. This argument
// must not be nil.
//
// Returns a JSON array, or nil if a serialization error occurred for any
// model.
+ (NSArray *)JSONArrayFromModels:(NSArray *)models;
// Initializes the receiver by attempting to parse a JSON dictionary into
// a model object.
//
// JSONDictionary - A dictionary representing JSON data. This should match the
// format returned by NSJSONSerialization. If this argument is
// nil, the method returns nil and an error with code
// MTLJSONAdapterErrorInvalidJSONDictionary.
// modelClass - The MTLModel subclass to attempt to parse from the JSON.
// This class must conform to <MTLJSONSerializing>. This
// argument must not be nil.
// error - If not NULL, this may be set to an error that occurs during
// parsing or initializing an instance of `modelClass`.
//
// Returns an initialized adapter upon success, or nil if a parsing error
// occurred.
- (id)initWithJSONDictionary:(NSDictionary *)JSONDictionary modelClass:(Class)modelClass error:(NSError **)error;
// Initializes the receiver with an existing model.
//
// model - The model to use for JSON serialization. This argument must not be
// nil.
- (id)initWithModel:(AWSMTLModel<AWSMTLJSONSerializing> *)model;
// Serializes the receiver's `model` into JSON.
//
// Returns a JSON dictionary, or nil if a serialization error occurred.
- (NSDictionary *)JSONDictionary;
// Looks up the JSON key path in the model's +propertyKeys.
//
// Subclasses may override this method to customize the adapter's seralizing
// behavior. You should not call this method directly.
//
// key - The property key to retrieve the corresponding JSON key path for. This
// argument must not be nil.
//
// Returns a key path to use, or nil to omit the property from JSON.
- (NSString *)JSONKeyPathForPropertyKey:(NSString *)key;
@end
Swift
class AWSMTLJSONAdapter : NSObject
Undocumented
-
Undocumented
Declaration
Objective-C
@property (nonatomic, strong, readonly) AWSMTLModel<AWSMTLJSONSerializing> *model
Swift
var model: (AWSMTLModel & AWSMTLJSONSerializing)! { get }
-
Undocumented
Declaration
Objective-C
+ (id)modelOfClass:(Class)modelClass fromJSONDictionary:(NSDictionary *)JSONDictionary error:(NSError **)error;
Swift
class func model(of modelClass: AnyClass!, fromJSONDictionary JSONDictionary: [AnyHashable : Any]!, error: ()) throws -> Any
-
Undocumented
Declaration
Objective-C
+ (NSArray *)modelsOfClass:(Class)modelClass fromJSONArray:(NSArray *)JSONArray error:(NSError **)error;
Swift
class func models(of modelClass: AnyClass!, fromJSONArray JSONArray: [Any]!) throws -> [Any]
-
Undocumented
Declaration
Objective-C
+ (NSDictionary *)JSONDictionaryFromModel:(AWSMTLModel<AWSMTLJSONSerializing> *)model;
Swift
class func jsonDictionary(from model: (AWSMTLModel & AWSMTLJSONSerializing)!) -> [AnyHashable : Any]!
-
Undocumented
Declaration
Objective-C
+ (NSArray *)JSONArrayFromModels:(NSArray *)models;
Swift
class func jsonArray(fromModels models: [Any]!) -> [Any]!
-
Undocumented
Declaration
Objective-C
- (id)initWithJSONDictionary:(NSDictionary *)JSONDictionary modelClass:(Class)modelClass error:(NSError **)error;
Swift
init(jsonDictionary JSONDictionary: [AnyHashable : Any]!, modelClass: AnyClass!, error: ()) throws
-
Undocumented
Declaration
Objective-C
- (id)initWithModel:(AWSMTLModel<AWSMTLJSONSerializing> *)model;
Swift
init!(model: (AWSMTLModel & AWSMTLJSONSerializing)!)
-
Undocumented
Declaration
Objective-C
- (NSDictionary *)JSONDictionary;
Swift
func jsonDictionary() -> [AnyHashable : Any]!
-
Undocumented
Declaration
Objective-C
- (NSString *)JSONKeyPathForPropertyKey:(NSString *)key;
Swift
func jsonKeyPath(forPropertyKey key: String!) -> String!
-
Deprecated
Replaced by +modelOfClass:fromJSONDictionary:error:
Undocumented
Declaration
Objective-C
+ (id)modelOfClass:(Class)modelClass fromJSONDictionary:(NSDictionary *)JSONDictionary __attribute__((deprecated("Replaced by +modelOfClass:fromJSONDictionary:error:")));
Swift
class func model(of modelClass: AnyClass!, fromJSONDictionary JSONDictionary: [AnyHashable : Any]!) -> Any!
-
Deprecated
Replaced by -initWithJSONDictionary:modelClass:error:
Undocumented
Declaration
Objective-C
- (id)initWithJSONDictionary:(NSDictionary *)JSONDictionary modelClass:(Class)modelClass __attribute__((deprecated("Replaced by -initWithJSONDictionary:modelClass:error:")));
Swift
init!(jsonDictionary JSONDictionary: [AnyHashable : Any]!, modelClass: AnyClass!)