<$comment
EO Template for use by "eogenerator" based upon MiscMerge engine.
You may customize this file to modify the templates generated
by this tool.  See the MiscMerge documentation for a description
of the parsing language.  The engine gets passed this file and an
EOEntity to process, so the methods used must be ones that an
EOEntity can respond to.

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$><$classNameWithoutPackage$>.java
// 
// Created by eogenerator
// DO NOT EDIT.  Make changes to <$classNameWithoutPackage$>.java instead.

<$foreach package classPackage do$>package <$package$>;
<$endforeach do
$>
import com.apple.yellow.foundation.*;
import com.apple.yellow.eocontrol.*;
import java.util.*;
import java.math.BigDecimal;

public abstract class <$GEN_PREFIX$><$classNameWithoutPackage$> extends <$javaParentClassName$> {
<$foreach attribute classAttributes.@sortedNameArray do$>
    protected <$attribute.javaValueClassName$> <$attribute.name$>;<$endforeach
do$><$foreach ToOneRelationship classToOneRelationships.@sortedNameArray do$>
    protected <$ToOneRelationship.destinationEntity.referenceJavaClassName$> <$ToOneRelationship.name$>;<$endforeach
do$><$foreach ToManyRelationship classToManyRelationships.@sortedNameArray do$>
    protected NSMutableArray <$ToManyRelationship.name$>;<$endforeach do$>

    // This is the constructor used by EOF.  Later (perhaps upon a willRead()) the
    // object will be populated with values via EOCustomObject's takeValueForKey()
    // method.
    public <$GEN_PREFIX$><$classNameWithoutPackage$> (EOEditingContext context, EOClassDescription classDesc, EOGlobalID gid) {
        super(context, classDesc, gid);
    }
<$foreach Attribute classAttributes.@sortedNameArray do$>
     public <$Attribute.javaValueClassName$> <$Attribute.name$>() {
        willRead();
        return <$Attribute.name$>;
    }

    public void set<$Attribute.name.initialCapitalString$>(<$Attribute.javaValueClassName$> aValue) {
        willChange();
        <$Attribute.name$> = aValue;
    }
<$endforeach do
$><$foreach ToOneRelationship classToOneRelationships.@sortedNameArray do$>
    public <$ToOneRelationship.destinationEntity.referenceJavaClassName$> <$ToOneRelationship.name$>() {
        willRead();
        return <$ToOneRelationship.name$>;
    }

    public void set<$ToOneRelationship.name.initialCapitalString$>(<$ToOneRelationship.destinationEntity.referenceJavaClassName$> aValue) {
        willChange();
        <$ToOneRelationship.name$> = aValue;
    }
<$endforeach do
$><$foreach ToManyRelationship classToManyRelationships.@sortedNameArray do$>
    public NSArray <$ToManyRelationship.name$>() {
        willRead();
        return <$ToManyRelationship.name$>;
    }

    public void set<$ToManyRelationship.name.initialCapitalString$>(NSMutableArray aValue) {
        willChange();
        <$ToManyRelationship.name$> = aValue;
    }

    public void addTo<$ToManyRelationship.name.initialCapitalString$>(<$ToManyRelationship.destinationEntity.referenceJavaClassName$> object) {
        willChange();
        <$ToManyRelationship.name$>.addObject(object);
    }

    public void removeFrom<$ToManyRelationship.name.initialCapitalString$>(<$ToManyRelationship.destinationEntity.referenceJavaClassName$> object) {
        willChange();
        <$ToManyRelationship.name$>.removeObject(object);
    }
<$endforeach do$>}