PageRenderTime 31ms CodeModel.GetById 18ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/JMRMappingList.h

http://rtm2cocoa.googlecode.com/
C++ Header | 41 lines | 19 code | 10 blank | 12 comment | 0 complexity | c553c2bed315ad74005b843e2cfd0432 MD5 | raw file
 1//
 2//  JMRMappingList.h
 3//  Excelsior
 4
 5/*
 6 
 7 This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
 8 
 9 */
10
11#import <Foundation/Foundation.h>
12#import "JMRMappingFactory.h"
13
14@interface JMRMappingList : NSObject {
15    NSMutableDictionary *_namedMappings;
16    NSMutableDictionary *_rootNamedMappings;
17    // need to store mutable arrays indexed by typeRef here until referenced type is added to list
18    NSMutableDictionary *_waitingList;
19}
20
21// constructor
22
23+(JMRMappingList *)mappingListWithDataFromURL:(NSURL *)url;
24
25// accessors
26
27-(NSMutableDictionary *)namedMappings;
28-(NSMutableDictionary *)rootNamedMappings;
29-(NSMutableDictionary *)waitingList;
30
31// public interface
32
33-(void)addToWaitingList:(JMRMapping *)mapping withRef:(NSString *)ref;
34-(void)updateMappingsWaitingForRef:(NSString *)ref withType:(JMRMappingType *)type;
35-(void)addMappingType:(JMRMappingType *)value forName:(NSString *)name;
36-(JMRMappingType *)mappingTypeWithName:(NSString *)name;
37-(void)addMapping:(JMRObjectMapping *)value forRootName:(NSString *)rootName;
38-(JMRObjectMapping *)mappingWithRootName:(NSString *)rootName;
39-(JMRMapping *)mappingWithMappingFactory:(JMRMappingFactory *)factory;
40
41@end