25 #include <Foundation/Foundation.h>
26 #include <AdunKernel/AdunKernel.h>
27 #include "ULFramework/ULIOManager.h"
28 #include "ULFramework/ULFrameworkDefinitions.h"
61 NSMutableDictionary* sections;
62 NSMutableDictionary* classNumberTracker;
69 + (NSArray*) systemObjectTemplates;
73 + (NSArray*) forceFieldObjectTemplates;
77 + (NSArray*) configurationGenerationObjectTemplates;
81 + (NSArray*) controllerTemplates;
85 + (NSArray*) allObjectTemplates;
89 + (NSArray*) miscellaneousObjectTemplates;
95 - (id) initWithObjectTemplates: (NSDictionary*) templates;
99 - (id) initWithCoreRepresentation: (NSDictionary*) aDict;
104 - (NSMutableDictionary*) coreRepresentation;
108 - (NSDictionary*) objectTemplates;
112 - (NSDictionary*) objectTemplatesInSection: (NSString*) aString;
116 - (NSDictionary*) objectTemplateWithName: (NSString*) aString;
120 - (NSDictionary*) objectTemplatesOfClass: (NSString*) className;
126 - (NSArray*) externalReferences;
130 - (NSDictionary*) externalReferenceTypes;
134 - (void) setValues: (NSDictionary*) aDictionary forObjectTemplateWithName: (NSString*) name;
138 - (NSDictionary*) valuesForObjectTemplateWithName: (NSString*) name;
142 - (BOOL) validateTemplate: (NSError**) error;
159 - (NSString*) addObjectTemplate: (NSDictionary*) aDictionary
160 toSection: (NSString*) stringTwo;
165 - (NSString*) addObjectTemplate: (NSDictionary*) aDictionary;
170 - (void) removeObjectTemplateWithName: (NSString*) aString;
184 @interface NSDictionary (ULObjectTemplateExtensions)
189 + (BOOL) isValidTemplate: (NSDictionary*) aDict;
193 + (id) templateForClass: (NSString*) className;
197 + (id) templateForDisplayName: (NSString*) displayName;
202 + (id) templateFromCoreRepresentation: (NSDictionary*) dict;
207 - (BOOL) validate: (NSError**) error;
211 - (NSArray*) typesForKey: (NSString*) aKey;
215 - (BOOL) validateType: (NSString*) type forKey: (NSString*) aKey;
219 - (NSString*) displayName;
223 - (NSString*) templateClass;
227 - (NSArray*) templateKeys;
231 - (NSString*) templateDescription;
235 - (NSString*) descriptionForKey: (NSString*) key;
239 - (id) valueForTemplateKey: (NSString*) aKey;
243 - (NSMutableDictionary*) valuesForTemplateKeys;
248 - (NSMutableDictionary*) coreTemplateRepresentation;
253 - (BOOL) isPropertyListKey: (NSString*) key;
257 - (BOOL) isOptionalKey: (NSString*) aKey;
261 - (NSArray*) propertyListKeys;
265 - (NSArray*) referenceKeys;
270 - (NSArray*) referenceContainerKeys;
275 - (BOOL) isSimpleKey: (NSString*) aKey;
278 @interface NSMutableDictionary (ULMutableObjectTemplateExtensions)
282 - (void) setValue: (
id) value forTemplateKey: (NSString*) aKey;