PATH  Documentation > WebObjects 4.5 > EOControl Reference

Table of Contents

EOCustomObject


Inherits from:
(com.apple.client.eocontrol) Object
(com.apple.yellow.eocontrol) NSObject
Implements:
EOEnterpriseObject
EODeferredFaulting (EOEnterpriseObject)
EOKeyValueCodingAdditions (EOEnterpriseObject)
EOKeyValueCoding.KeyBindingCreation (EOEnterpriseObject)
EORelationshipManipulation (EOEnterpriseObject)
EOValidation (EOEnterpriseObject)
EOFaulting (EODeferredFaulting)
EOKeyValueCoding (EOKeyValueCodingAdditions)
(com.apple.client.eocontrol only) NSKeyValueCoding (EOKeyValueCoding)
(com.apple.client.eocontrol only) NSInlineObservable
Package:
com.apple.client.eocontrol
com.apple.yellow.eocontrol


Class Description


The EOCustomObject class provides a default implementation of the EOEnterpriseObject interface. If you need to create a custom enterprise object class, you can subclass EOCustomObject and inherit the Framework's default implementations. Some of the methods are for subclasses to implement or override, but most are meant to be used as defined by EOCustomObject. For information on which methods you should implement in your subclass, see the EOEnterpriseObject interface specification.

EOCustomObject's method implementations are described in the specification for the interface that declares them. For example, you can find a description of how EOCustomObject implements valueForKey (introduced in the EOKeyValueCoding interface) in the specification for EOKeyValueCoding, and you can find a description of how EOCustomObject implements classDescription (introduced in the EOEnterpriseObject interface) in the specification for EOEnterpriseObject.

The only methods provided in EOCustomObject that aren't defined in the EOEnterpriseObject interface are the following three static methods:

You would never invoke these methods, rather, they are provided in EOCustomObject to demonstrate the additional API your custom enterprise objects can implement. Similarly, EOCustomObject's constructors are not meant to be invoked; you would never create an instance of EOCustomObject. Rather, EOCustomObject provides the constructors to demonstrate the constructors your custom enterprise objects should implement.




Interfaces Implemented


EOKeyValueCoding
handleQueryWithUnboundKey
handleTakeValueForUnboundKey
storedValueForKey
takeStoredValueForKey
takeValueForKey
unableToSetNullForKey
valueForKey
EOKeyValueCodingAdditions
takeValueForKeyPath
takeValuesFromDictionary
valueForKeyPath
valuesForKeys
EORelationshipManipulation
addObjectToBothSidesOfRelationshipWithKey
addObjectToPropertyWithKey
removeObjectFromBothSidesOfRelationshipWithKey
removeObjectFromPropertyWithKey
EOValidation
validateForDelete
validateForInsert
validateForSave
validateForUpdate
validateValueForKey
EOEnterpriseObject
allPropertyKeys
attributeKeys
awakeFromFetch
awakeFromInsertion
changesFromSnapshot (com.apple.yellow.eocontrol only)
classDescription
classDescriptionForDestinationKey
clearProperties
deleteRuleForRelationshipKey
editingContext
entityName
eoDescription
eoShallowDescription
inverseForRelationshipKey
invokeRemoteMethod (com.apple.client.eocontrol only)
isToManyKey
ownsDestinationObjectsForRelationshipKey
propagateDeleteWithEditingContext
reapplyChangesFromDictionary
snapshot
toManyRelationshipKeys
toOneRelationshipKeys
updateFromSnapshot
userPresentableDescription (com.apple.yellow.eocontrol only)
willChange
EOFaulting
clearFault
faultHandler
isFault
turnIntoFault
willRead
NSInlineObservable (com.apple.client.eocontrol only)
observerData
setObserverData


Constructors



EOCustomObject

public EOCustomObject( EOEditingContext anEOEditingContext, EOClassDescription anEOClassDescription, EOGlobalID anEOGlobalID)

You would never create an instance of EOCustomObject; rather, your subclasses can create constructors of this same form. A subclass's constructors should create a new object and initialize it with the arguments provided.

See Also: createInstanceWithEditingContext (EOClassDescription)




Static Methods



accessInstanceVariablesDirectly

public static boolean accessInstanceVariablesDirectly()

Subclasses implement this method to return false if the key-value coding methods should never access the corresponding instance variable directly on finding no accessor method for a property. You don't have to implement this method if the default behavior of accessing instance variables directly is correct for your objects.

See Also: valueForKey, takeValueForKey



flushAllKeyBindings

public static void flushAllKeyBindings()

Invalidates the cached key binding information for all classes (caches are kept of key-to-method or instance variable bindings in order to make key-value coding efficient). This method should be invoked whenever a class is modified in or removed from the run-time system.

See Also:



useStoredAccessor

public static boolean useStoredAccessor()

Subclasses implement this method to return false if the stored value methods ( storedValueForKey and takeStoredValueForKey) should not use private accessor methods in preference to public accessors. Returning false causes the stored value methods to use the same accessor method-instance variable search order as the corresponding basic key-value coding methods ( valueForKey and takeValueForKey). You don't have to implement this method if the default stored value search order is correct for your objects.


Table of Contents