<$comment
EOGenerator template for generated classes' Objective-C headers.
This file is a more likely example of one to be actually used
in a production environment, as it is much lighter-weight at
#importing headers, and it shows how to do a custom EO superclass.

BE SURE NOT TO INCLUDE DATES IN THIS FILE.  Since the "eogenerator"
tool tries to compare the newly generated file with the old file,
adding dates to this file will guarantee the old file gets
overridden by the new file, forcing a recompilation of your EO.$>

// <$GEN_PREFIX$><$className$>.h
// 
// Created by "eogenerator"
// DO NOT EDIT.  Make changes to <$className$>.h instead.

<$comment The below 'set' puts the FetchSpec into the global lookup space. We
do this because the beautifiedFetchSpecificationDictionaries actually will
print some logs and does a lot of object creation so this will keep the
fuss down to a minimum.
$><$set FetchSpecs = beautifiedFetchSpecificationDictionaries.@sortedNameArray$>

<$if hasParentEntity$>
#import <$parentObjCImportString$>
<$else$>
//#import <MyFramework/MyEOSuperclass.h>
#import <EOControl/EOGenericRecord.h>
<$endif$>
<$foreach relationship referencedClasses.@reversedArray do$>
@class <$relationship$>;<$endforeach do$>
@class NSArray, NSMutableArray;

@interface <$GEN_PREFIX$><$className$> : <$if hasParentEntity$><$parentClassName$><$else$>EOGenericRecord<$endif$>
{
}
<$foreach attribute classAttributes.@sortedNameArray do$>
- (void)set<$attribute.name.initialCapitalString$>:(<$attribute.valueClassName$> *)aValue;
- (<$attribute.valueClassName$> *)<$attribute.name$>;
<$endforeach do

$><$foreach toOneRelationship classToOneRelationships.@sortedNameArray do$>
- (void)set<$toOneRelationship.name.initialCapitalString$>:(<$toOneRelationship.destinationEntity.referenceClassName$>)aValue;
- (<$toOneRelationship.destinationEntity.referenceClassName$>)<$toOneRelationship.name$>;
- (void)set<$toOneRelationship.name.initialCapitalString$>Relationship:(<$toOneRelationship.destinationEntity.referenceClassName$>)aValue;
<$endforeach do

$><$foreach toManyRelationship classToManyRelationships.@sortedNameArray do$>
- (void)set<$toManyRelationship.name.initialCapitalString$>:(NSMutableArray *)aValue;
- (NSArray *)<$toManyRelationship.name$>;
- (void)addTo<$toManyRelationship.name.initialCapitalString$>:(<$toManyRelationship.destinationEntity.referenceClassName$>)object;
- (void)removeFrom<$toManyRelationship.name.initialCapitalString$>:(<$toManyRelationship.destinationEntity.referenceClassName$>)object;
- (void)addTo<$toManyRelationship.name.initialCapitalString$>Relationship:(<$toManyRelationship.destinationEntity.referenceClassName$>)object;
- (void)removeFrom<$toManyRelationship.name.initialCapitalString$>Relationship:(<$toManyRelationship.destinationEntity.referenceClassName$>)object;
<$endforeach do

$><$foreach FetchSpec FetchSpecs do$>
+ (NSArray *)objectsFor<$FetchSpec.niceName$>:(EOEditingContext *)context<$foreach Binding FetchSpec.bindings do2$> <$Binding.name$>:(<$Binding.codeType$>)<$Binding.name$>Binding<$endforeach do2$>;<$endforeach do$>
@end