|
Project Wonder 5.0 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||
java.lang.Objectcom.webobjects.eocontrol.EOCustomObject
com.webobjects.eocontrol.EOGenericRecord
er.extensions.eof.ERXGenericRecord
public class ERXGenericRecord
This class contains a bunch of extensions to the regular
EOGenericRecord class. Of
notable interest is:
ERXGeneratesPrimaryKeyInterface,
willUpdate
and didDelete and a bunch of handy utility methods like
committedSnapshotValueForKey
.
eo.setFoo(other), eo.takeValueForKey(other),
eo.addObjectToBothSidesOfRelationshipWithKey(other, "foo")
or eo.addToFoos(other) and the inverse relationship will get
updated for you automagically, so that you don't need to call
other.addToBars(eo) or other.setBar(eo). Doing
so doesn't hurt, though. Giving a null value of removing the
object from a to-many will result in the inverse relationship getting
cleared. er.extensions.ERXEnterpriseObject.updateInverseRelationships=true.
| Nested Class Summary | |
|---|---|
static class |
ERXGenericRecord.ERXGenericRecordClazz<T extends com.webobjects.eocontrol.EOEnterpriseObject>
Clazz object implementation for ERXGenericRecord. |
static class |
ERXGenericRecord.InverseRelationshipUpdater
Provides automatic inverse relationship updating for ERXGenericRecord and ERXCustomObject. |
static class |
ERXGenericRecord.LocalizedBinding
Special binding for localized key support. |
static class |
ERXGenericRecord.TouchingBinding
Special binding that touches the target of a relationship. |
| Nested classes/interfaces inherited from class com.webobjects.eocontrol.EOGenericRecord |
|---|
com.webobjects.eocontrol.EOGenericRecord._DictionaryBinding, com.webobjects.eocontrol.EOGenericRecord._LazyDictionaryBinding |
| Nested classes/interfaces inherited from class com.webobjects.eocontrol.EOCustomObject |
|---|
com.webobjects.eocontrol.EOCustomObject._BooleanFieldBinding, com.webobjects.eocontrol.EOCustomObject._FieldBinding, com.webobjects.eocontrol.EOCustomObject._LazyFieldBinding, com.webobjects.eocontrol.EOCustomObject._NumberFieldBinding |
| Nested classes/interfaces inherited from interface er.extensions.eof.ERXEnterpriseObject |
|---|
ERXEnterpriseObject.Observer, ERXEnterpriseObject.Processor |
| Nested classes/interfaces inherited from interface com.webobjects.eocontrol.EOKeyValueCodingAdditions |
|---|
com.webobjects.eocontrol.EOKeyValueCodingAdditions.DefaultImplementation, com.webobjects.eocontrol.EOKeyValueCodingAdditions.Utility |
| Nested classes/interfaces inherited from interface com.webobjects.eocontrol.EOKeyValueCoding |
|---|
com.webobjects.eocontrol.EOKeyValueCoding._BestBindingCreation, com.webobjects.eocontrol.EOKeyValueCoding._KeyBindingCreation, com.webobjects.eocontrol.EOKeyValueCoding._StoredForwardingBinding |
| Nested classes/interfaces inherited from interface com.webobjects.foundation.NSKeyValueCoding |
|---|
com.webobjects.foundation.NSKeyValueCoding._BooleanFieldBinding, com.webobjects.foundation.NSKeyValueCoding._BooleanMethodBinding, com.webobjects.foundation.NSKeyValueCoding._FieldBinding, com.webobjects.foundation.NSKeyValueCoding._ForwardingBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBinding, com.webobjects.foundation.NSKeyValueCoding._NumberFieldBinding, com.webobjects.foundation.NSKeyValueCoding._NumberMethodBinding, com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCoding.Null, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessor |
| Nested classes/interfaces inherited from interface com.webobjects.foundation.NSValidation |
|---|
com.webobjects.foundation.NSValidation._MethodBinding, com.webobjects.foundation.NSValidation._ValidationBinding, com.webobjects.foundation.NSValidation.ValidationException |
| Nested classes/interfaces inherited from interface com.webobjects.eocontrol._EOPrivateMemento |
|---|
com.webobjects.eocontrol._EOPrivateMemento.DefaultImplementation |
| Field Summary | |
|---|---|
protected java.lang.String |
_primaryKey
|
com.webobjects.eocontrol.EOGlobalID |
_touchSource
Which GID touched us |
protected java.lang.String |
insertionStackTrace
|
| Fields inherited from class com.webobjects.eocontrol.EOGenericRecord |
|---|
_CLASS |
| Fields inherited from interface com.webobjects.eocontrol.EOEnterpriseObject |
|---|
_CLASS |
| Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions |
|---|
_KeyPathSeparatorChar, KeyPathSeparator |
| Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding |
|---|
NullValue |
| Constructor Summary | |
|---|---|
ERXGenericRecord()
|
|
ERXGenericRecord(com.webobjects.eocontrol.EOClassDescription classDescription)
|
|
| Method Summary | ||
|---|---|---|
com.webobjects.foundation.NSKeyValueCoding._KeyBinding |
_otherStorageBinding(java.lang.String key)
|
|
void |
_setPrimaryKeyDictionary(com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.Object> pkDict)
Sets the primary key dictionary for this EO (key = attribute name, value = pk value). |
|
boolean |
_setUpdateInverseRelationships(boolean newValue)
Toggles whether or not inverse relationships should be updates. |
|
void |
_setValueForPrimaryKey(java.lang.Object value,
java.lang.String pkAttributeName)
Sets the value for the primary key attribute with the given name. |
|
protected boolean |
_updateInverseRelationships()
|
|
protected java.lang.Object |
_validateValueForKey(java.lang.Object value,
java.lang.String key)
|
|
void |
addObjectsToBothSidesOfRelationshipWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
Adds a collection of objects to a given relationship by calling addObjectToBothSidesOfRelationshipWithKey for all
objects in the collection. |
|
void |
addObjectToBothSidesOfRelationshipWithKey(com.webobjects.eocontrol.EORelationshipManipulation eo,
java.lang.String key)
Adds a check to make sure that both the object being added and this object are in the same editing context. |
|
protected boolean |
applyRestrictingQualifierOnInsert()
|
|
void |
awakeFromClientUpdate(com.webobjects.eocontrol.EOEditingContext editingContext)
Checks the editing context delegate before calling super's implementation. |
|
void |
awakeFromFetch(com.webobjects.eocontrol.EOEditingContext editingContext)
Checks the editing context delegate before calling super's implementation. |
|
void |
awakeFromInsertion(com.webobjects.eocontrol.EOEditingContext editingContext)
Checks the editing context delegate before calling super's implementation. |
|
void |
batchCheckConsistency()
This method is very similar to the checkConsistency method
except that this method is only called from an outside process, usually
a batch process, to verify that the data this object holds is consistent. |
|
java.lang.String |
batchFaultingRelationshipName()
The key that touched us |
|
com.webobjects.eocontrol.EOGlobalID |
batchFaultingSourceGlobalID()
The source EO that touched us |
|
long |
batchFaultingTimeStamp()
The fetch time for this object |
|
boolean |
canDelete()
Implementation of ERXGuardedObjectInterface. |
|
boolean |
canUpdate()
Implementation of ERXGuardedObjectInterface. |
|
com.webobjects.foundation.NSDictionary |
changesFromCommittedSnapshot()
Computes the current set of changes that this object has from the currently committed snapshot. |
|
void |
checkConsistency()
Debugging method that will be called on an object before it is saved to the database if the property key: ERDebuggingEnabled is enabled. |
|
static void |
checkMatchingEditingContexts(com.webobjects.eocontrol.EOEnterpriseObject source,
java.lang.String relationshipName,
com.webobjects.eocontrol.EOEnterpriseObject destination)
Checks that the editing contexts in source and destination matches and throws an exception if they do not. |
|
void |
clearProperties()
|
|
com.webobjects.foundation.NSDictionary |
committedSnapshot()
This method exists because EOEditingContext.committedSnapshotForObject()
gives unexpected results for newly inserted objects if
EOEditingContext.processRecentChanges()
has been called. |
|
java.lang.Object |
committedSnapshotValueForKey(java.lang.String key)
Determines what the value of the given key is in the committed snapshot |
|
void |
delete()
Implementation of ERXGuardedObjectInterface. |
|
java.lang.String |
description()
Cover method to return toString. |
|
void |
didCopyFromChildInEditingContext(ERXGenericRecord originalEO,
com.webobjects.eocontrol.EOEditingContext childEditingContext)
Called when this EO is saved from a child editing context into a parent editing context. |
|
void |
didDelete(com.webobjects.eocontrol.EOEditingContext ec)
Called on the object after is has been deleted. |
|
void |
didInsert()
Called on the object after is has successfully been inserted into the database. |
|
void |
didRevert(com.webobjects.eocontrol.EOEditingContext ec)
Called on the object after it has been reverted. |
|
void |
didUpdate()
Called on the object after is has successfully been updated in the database. |
|
java.lang.String |
encryptedPrimaryKey()
Takes the primary key of the object and encrypts it with the blowfish cipher using ERXCrypto. |
|
com.webobjects.eoaccess.EOEntity |
entity()
Returns the entity for the current object. |
|
void |
excludeObjectFromPropertyWithKey(java.lang.Object o,
java.lang.String key)
Overridden to support two-way relationship setting. |
|
void |
flushCaches()
This is called when an object has had changes merged into it by the editing context. |
|
java.lang.Object |
foreignKeyForRelationshipWithKey(java.lang.String rel)
Returns the foreign key for a given relationship. |
|
org.apache.log4j.Logger |
getClassLog()
This methods checks if we already have created an Logger for this class If not, one will be created, stored and returned on next request. |
|
boolean |
hasKeyChangedFromCommittedSnapshot(java.lang.String key)
Returns whether or not the given key has changed when compared to the committed snapshot. |
|
boolean |
hasKeyChangedFromCommittedSnapshotFromValue(java.lang.String key,
java.lang.Object oldValue)
Returns whether or not the given key has changed from the given committed value. |
|
boolean |
hasKeyChangedFromCommittedSnapshotFromValueToNewValue(java.lang.String key,
java.lang.Object oldValue,
java.lang.Object newValue)
Returns whether or not the given key has changed from the given previous value to the new value since the committed value. |
|
boolean |
hasKeyChangedFromCommittedSnapshotToValue(java.lang.String key,
java.lang.Object newValue)
Returns whether or not the given key has changed to the new value since the committed value. |
|
void |
includeObjectIntoPropertyWithKey(java.lang.Object o,
java.lang.String key)
Overridden to support two-way relationship setting. |
|
protected void |
init(com.webobjects.eocontrol.EOEditingContext ec)
used for initialization stuff instead of awakeFromInsertion. |
|
boolean |
isDeletedEO()
Determines if this object is a deleted object by checking to see if it is included in the deletedObjects array of the editing context or - if it's editing context is null - it already has a global id. |
|
boolean |
isNewEO()
Deprecated. use ERXGenericRecord#isNewObject |
|
boolean |
isNewObject()
Determines if this object is a new object and hasn't been saved to the database yet. |
|
java.lang.Boolean |
isNonNull()
|
|
boolean |
isUpdatedObject()
Returns true if this EO has been modified in this editing context. |
|
boolean |
isValidatedWhenNested()
Returns whether or not this object is validated when it is committed in a nested editing context. |
|
com.webobjects.foundation.NSArray<java.lang.String> |
localesForKey(java.lang.String key)
Returns all available ERXLanguages for the given key |
|
com.webobjects.eocontrol.EOEnterpriseObject |
localInstanceIn(com.webobjects.eocontrol.EOEditingContext ec)
Returns this EO in the supplied editing context. |
|
com.webobjects.eocontrol.EOEnterpriseObject |
localInstanceOf(com.webobjects.eocontrol.EOEnterpriseObject eo)
Returns an EO in the same editing context as the caller. |
|
com.webobjects.foundation.NSArray |
localInstancesOf(com.webobjects.foundation.NSArray eos)
Returns an array of EOs in the same editing context as the caller. |
|
static boolean |
localizationShouldFallbackToDefaultLanguage()
|
|
void |
mightDelete()
Called as part of the augmented transaction process. |
|
boolean |
parentObjectStoreIsObjectStoreCoordinator()
Simple method that will return if the parent object store of this object's editing context is an instance of EOObjectStoreCoordinator. |
|
com.webobjects.eocontrol.EOKeyGlobalID |
permanentGlobalID()
Calls permanentGlobalID(boolean) passing true for generateIfMissing. |
|
com.webobjects.eocontrol.EOKeyGlobalID |
permanentGlobalID(boolean generateIfMissing)
This method allows you to compute what the permanent EOGlobalID will be for an object before it has been saved to the database. |
|
java.lang.String |
primaryKey()
Primary key of the object as a String. |
|
com.webobjects.foundation.NSArray<java.lang.String> |
primaryKeyAttributeNames()
Returns the names of all primary key attributes. |
|
com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.Object> |
primaryKeyDictionary(boolean inTransaction)
Implementation of the interface ERXGeneratesPrimaryKeyInterface. |
|
java.lang.String |
primaryKeyInTransaction()
Calling this method will return the primary key of the given enterprise object or if one has not been assigned to it yet, then it will have the adaptor channel generate one for it, cache it and then use that primary key when it is saved to the database. |
|
java.lang.Object |
rawPrimaryKey()
Gives the raw primary key of the object. |
|
java.lang.Object |
rawPrimaryKeyInTransaction()
Calling this method will return the primary key of the given enterprise object or if one has not been assigned to it yet, then it will have the adaptor channel generate one for it, cache it and then use that primary key when it is saved to the database. |
|
ERXEnterpriseObject |
refetchObjectFromDB()
Calls the method refetchObjectFromDBinEditingContext(EOEditingContext ec) and
passes the object's Editing Context as Editing Context parameter. |
|
ERXEnterpriseObject |
refetchObjectFromDBinEditingContext(com.webobjects.eocontrol.EOEditingContext ec)
Method that will make sure to fetch an eo from the Database and place it in the editingContext provided as an argument |
|
void |
removeObjectsFromBothSidesOfRelationshipWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
Removes a collection of objects to a given relationship by calling removeObjectFromBothSidesOfRelationshipWithKey for all
objects in the collection. |
|
void |
removeObjectsFromPropertyWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
Removes a collection of objects to a given relationship by calling removeObjectFromPropertyWithKey for all
objects in the collection. |
|
ERXEnterpriseObject |
self()
self is usefull for directtoweb purposes |
|
void |
setBatchFaultingTimestamp(long timestamp)
Touches this EO from a fetch. |
|
void |
setValidatedWhenNested(boolean validatedWhenNested)
If false, when this object is committed into a nested editingContext and it exists in the parent editing context, validation will be skipped. |
|
static boolean |
shouldTrimSpaces()
|
|
void |
takeStoredValueForKey(java.lang.Object value,
java.lang.String key)
|
|
|
takeValueForKey(java.lang.Object value,
ERXKey<T> key)
Type-safe KVC setter (final for now) |
|
void |
takeValueForKey(java.lang.Object value,
java.lang.String key)
Overridden to support two-way relationship setting. |
|
java.lang.String |
toLongString()
Returns the super classes implementation of toString which prints out the current key-value pairs for all of the attributes and relationships for the current object. |
|
java.lang.String |
toString()
Overrides the EOGenericRecord's implementation to provide a slightly less verbose output. |
|
void |
touchFromBatchFaultingSource(ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObject toucher,
java.lang.String key)
Touches this EO with the given source and the given key. |
|
void |
trimSpaces()
This method will trim the leading and trailing white space from any attributes that are mapped to a String object. |
|
void |
updateFromSnapshot(com.webobjects.foundation.NSDictionary snapshot)
This method explicitly turns off inverse relationship updating, because it's only called during undo and revert inside of EOF. |
|
void |
validateForInsert()
Calls up validateForInsert() on the class description if it supports it. |
|
void |
validateForSave()
This method performs a few checks before invoking super's implementation. |
|
void |
validateForUpdate()
Calls up validateForUpdate() on the class description if it supports it. |
|
java.lang.Object |
validateValueForKey(java.lang.Object value,
java.lang.String key)
Overrides the default validation mechanisms to provide a few checks before invoking super's implementation, which incidently just invokes validateValueForKey on the object's class description. |
|
|
valueForKey(ERXKey<T> key)
Type-safe KVC getter (final for now) |
|
void |
willDelete()
Called as part of the augmented transaction process. |
|
void |
willInsert()
Called as part of the augmented transaction process. |
|
java.lang.Object |
willReadRelationship(java.lang.Object aObject)
|
|
void |
willRevert()
Called on the object before it will be reverted. |
|
void |
willUpdate()
Called as part of the augmented transaction process. |
|
| Methods inherited from class com.webobjects.eocontrol.EOGenericRecord |
|---|
__setClassDescription, _keyGetBindingForKey, _keySetBindingForKey, _storedKeyGetBindingForKey, _storedKeySetBindingForKey, classDescription, usesDeferredFaultCreation |
| Methods inherited from class com.webobjects.eocontrol.EOCustomObject |
|---|
__classDescription, __clearPendingChanges, __editingContext, __globalID, __hasAuxillaryObservers, __hasPendingChanges, __hasPendingUpdate, __isInitialized, __isPendingDeletion, __isPendingInsertion, __isShared, __lastSnapshot, __originalSnapshot, __retainCount, __setAuxillaryObservers, __setEditingContext, __setGlobalID, __setInitialized, __setLastSnapshot, __setOriginalSnapshot, __setPendingDeletion, __setPendingInsertion, __setPendingUpdate, __setRetainCount, __setShared, _createKeyGetBindingForKey, _createKeySetBindingForKey, _createStoredKeyGetBindingForKey, _createStoredKeySetBindingForKey, _fieldKeyBinding, _forwardingBindingNeededForClass, _methodKeyGetBinding, _methodKeySetBinding, addObjectToPropertyWithKey, allPropertyKeys, attributeKeys, canAccessFieldsDirectly, changesFromSnapshot, classDescriptionForDestinationKey, clearFault, deleteRuleForRelationshipKey, editingContext, entityName, eoDescription, eoShallowDescription, equals, faultHandler, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hashCode, inverseForRelationshipKey, invokeRemoteMethod, isFault, isToManyKey, opaqueState, ownsDestinationObjectsForRelationshipKey, prepareValuesForClient, propagateDeleteWithEditingContext, readResolve, reapplyChangesFromDictionary, removeObjectFromBothSidesOfRelationshipWithKey, removeObjectFromPropertyWithKey, shouldUseStoredAccessors, snapshot, storedValueForKey, takeValueForKeyPath, takeValuesFromDictionary, takeValuesFromDictionaryWithMapping, toManyRelationshipKeys, toOneRelationshipKeys, turnIntoFault, unableToSetNullForKey, userPresentableDescription, validateClientUpdate, validateForDelete, validateTakeValueForKeyPath, valueForKey, valueForKeyPath, valuesForKeys, valuesForKeysWithMapping, willChange, willRead |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.webobjects.eocontrol.EOEnterpriseObject |
|---|
allPropertyKeys, attributeKeys, changesFromSnapshot, classDescription, classDescriptionForDestinationKey, deleteRuleForRelationshipKey, editingContext, entityName, eoDescription, eoShallowDescription, inverseForRelationshipKey, invokeRemoteMethod, isToManyKey, opaqueState, ownsDestinationObjectsForRelationshipKey, prepareValuesForClient, propagateDeleteWithEditingContext, reapplyChangesFromDictionary, snapshot, toManyRelationshipKeys, toOneRelationshipKeys, userPresentableDescription, willChange |
| Methods inherited from interface com.webobjects.eocontrol.EOKeyValueCodingAdditions |
|---|
takeValuesFromDictionary, takeValuesFromDictionaryWithMapping, valuesForKeys, valuesForKeysWithMapping |
| Methods inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions |
|---|
takeValueForKeyPath, valueForKeyPath |
| Methods inherited from interface com.webobjects.eocontrol.EOKeyValueCoding |
|---|
storedValueForKey |
| Methods inherited from interface com.webobjects.foundation.NSKeyValueCoding |
|---|
valueForKey |
| Methods inherited from interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandling |
|---|
handleQueryWithUnboundKey, handleTakeValueForUnboundKey, unableToSetNullForKey |
| Methods inherited from interface com.webobjects.eocontrol.EORelationshipManipulation |
|---|
addObjectToPropertyWithKey, removeObjectFromBothSidesOfRelationshipWithKey, removeObjectFromPropertyWithKey |
| Methods inherited from interface com.webobjects.eocontrol.EOValidation |
|---|
validateClientUpdate, validateForDelete |
| Methods inherited from interface com.webobjects.foundation.NSValidation |
|---|
validateTakeValueForKeyPath |
| Methods inherited from interface com.webobjects.eocontrol.EOFaulting |
|---|
clearFault, faultHandler, isFault, turnIntoFault, willRead |
| Field Detail |
|---|
protected java.lang.String insertionStackTrace
protected java.lang.String _primaryKey
public com.webobjects.eocontrol.EOGlobalID _touchSource
| Constructor Detail |
|---|
public ERXGenericRecord(com.webobjects.eocontrol.EOClassDescription classDescription)
public ERXGenericRecord()
| Method Detail |
|---|
public static boolean shouldTrimSpaces()
public static boolean localizationShouldFallbackToDefaultLanguage()
public com.webobjects.foundation.NSArray<java.lang.String> localesForKey(java.lang.String key)
key -
public final <T> T valueForKey(ERXKey<T> key)
valueForKey in interface ERXKey.ValueCodingT - key -
public final <T> void takeValueForKey(java.lang.Object value,
ERXKey<T> key)
takeValueForKey in interface ERXKey.ValueCodingT - value - key - public com.webobjects.foundation.NSKeyValueCoding._KeyBinding _otherStorageBinding(java.lang.String key)
_otherStorageBinding in interface com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation.Callback_otherStorageBinding in class com.webobjects.eocontrol.EOGenericRecordpublic org.apache.log4j.Logger getClassLog()
ERXEnterpriseObject
getClassLog in interface ERXEnterpriseObjectLogger for this objects classpublic ERXEnterpriseObject self()
ERXEnterpriseObject
self in interface ERXEnterpriseObjectpublic boolean canDelete()
ERXGuardedObjectInterface. This is checked
before the object is deleted in the willDelete method
which is in turn called by ERXEditingContextDelegate. The
default implementation returns true.
canDelete in interface ERXGuardedObjectInterfacepublic boolean canUpdate()
ERXGuardedObjectInterface. This is checked
before the object is deleted in the willUpdate method
which is in turn called by ERXEditingContextDelegate. The
default implementation returns true.
canUpdate in interface ERXGuardedObjectInterfacepublic void delete()
ERXGuardedObjectInterface. This is used to
work around a bug in EOF that doesn't refresh the relationship in the
parent editingContext for the object.
delete in interface ERXGuardedObjectInterface
public void didCopyFromChildInEditingContext(ERXGenericRecord originalEO,
com.webobjects.eocontrol.EOEditingContext childEditingContext)
originalEO - the original EO in the child editing contextchildEditingContext - the child editing contextpublic void mightDelete()
ERXEnterpriseObject
mightDelete in interface ERXEnterpriseObject
public void willDelete()
throws com.webobjects.foundation.NSValidation.ValidationException
ERXEnterpriseObjectvalidateForDelete is called on this
object. This method is called by the editing context
delegate ERXDefaultEditingContextDelegate.
willDelete in interface ERXEnterpriseObjectNSValidation.ValidationException - to stop the object
from being deleted.public void willInsert()
ERXEnterpriseObjectvalidateForInsert is called on this
object. This method is called by the editing context
delegate ERXDefaultEditingContextDelegate.
willInsert in interface ERXEnterpriseObjectpublic void willUpdate()
ERXEnterpriseObjectvalidateForSave is called on this
object. This method is called by the editing context
delegate ERXDefaultEditingContextDelegate.
willUpdate in interface ERXEnterpriseObjectprotected boolean _updateInverseRelationships()
public boolean _setUpdateInverseRelationships(boolean newValue)
ERXEnterpriseObject
_setUpdateInverseRelationships in interface ERXEnterpriseObjectnewValue - whether or not inverse relationships should be updated
public java.lang.Object willReadRelationship(java.lang.Object aObject)
willReadRelationship in interface com.webobjects.eocontrol.EODeferredFaultingwillReadRelationship in class com.webobjects.eocontrol.EOCustomObjectpublic void flushCaches()
ERXEnterpriseObjectERXDefaultEditingContextDelegate
after it merges changes. Any caches that an object
keeps based on any of it's values it should flush.
The default implementation of this method does
nothing.
flushCaches in interface ERXEnterpriseObjectpublic void didDelete(com.webobjects.eocontrol.EOEditingContext ec)
ERXEnterpriseObjectec
is a child context when doing something here that
can't be undone.
didDelete in interface ERXEnterpriseObjectec - editing context that used to be associated
with the object.public void didUpdate()
ERXEnterpriseObject
didUpdate in interface ERXEnterpriseObjectpublic void didInsert()
ERXEnterpriseObject
didInsert in interface ERXEnterpriseObjectpublic void willRevert()
ERXEnterpriseObject
willRevert in interface ERXEnterpriseObjectpublic void didRevert(com.webobjects.eocontrol.EOEditingContext ec)
ERXEnterpriseObjectflushCaches.
didRevert in interface ERXEnterpriseObjectec - editing context that is either currently associated
with the object if the object was marked as changed or deleted before
the revert, otherwise the editing context that was associated with the object
before the revert.
public void addObjectsToBothSidesOfRelationshipWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
ERXEnterpriseObjectaddObjectToBothSidesOfRelationshipWithKey for all
objects in the collection.
addObjectsToBothSidesOfRelationshipWithKey in interface ERXEnterpriseObjectobjects - objects to add to both sides of the given relationshipkey - relationship key
public void removeObjectsFromBothSidesOfRelationshipWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
ERXEnterpriseObjectremoveObjectFromBothSidesOfRelationshipWithKey for all
objects in the collection.
removeObjectsFromBothSidesOfRelationshipWithKey in interface ERXEnterpriseObjectobjects - objects to be removed from both sides of the given relationshipkey - relationship key
public void removeObjectsFromPropertyWithKey(com.webobjects.foundation.NSArray objects,
java.lang.String key)
ERXEnterpriseObjectremoveObjectFromPropertyWithKey for all
objects in the collection.
removeObjectsFromPropertyWithKey in interface ERXEnterpriseObjectobjects - objects to be removed from both sides of the given relationshipkey - relationship keypublic void awakeFromClientUpdate(com.webobjects.eocontrol.EOEditingContext editingContext)
_checkEditingContextDelegate
for an explanation as to what this check does.
awakeFromClientUpdate in interface com.webobjects.eocontrol.EOEnterpriseObjectawakeFromClientUpdate in class com.webobjects.eocontrol.EOCustomObjecteditingContext - to be checked to make sure it has the correct type of delegate
set.public void awakeFromInsertion(com.webobjects.eocontrol.EOEditingContext editingContext)
_checkEditingContextDelegate
for an explanation as to what this check does.
awakeFromInsertion in interface com.webobjects.eocontrol.EOEnterpriseObjectawakeFromInsertion in class com.webobjects.eocontrol.EOCustomObjecteditingContext - to be checked to make sure it has the correct type of delegate
set.protected boolean applyRestrictingQualifierOnInsert()
public void clearProperties()
clearProperties in interface com.webobjects.eocontrol.EOEnterpriseObjectclearProperties in class com.webobjects.eocontrol.EOCustomObjectprotected void init(com.webobjects.eocontrol.EOEditingContext ec)
awakeFromInsertions is buggy because if an EO is deleted
and then its EOEditingContext is reverted using 'revert' for example then
EOF will -insert- this EO again in its EOEditingContext which in turn
calls awakeFromInsertion again.
ec - the EOEditingContext in which this new EO is insertedpublic void awakeFromFetch(com.webobjects.eocontrol.EOEditingContext editingContext)
_checkEditingContextDelegate
for an explanation as to what this check does.
awakeFromFetch in interface com.webobjects.eocontrol.EOEnterpriseObjectawakeFromFetch in class com.webobjects.eocontrol.EOCustomObjecteditingContext - to be checked to make sure it has the correct type of delegate
set.
public void addObjectToBothSidesOfRelationshipWithKey(com.webobjects.eocontrol.EORelationshipManipulation eo,
java.lang.String key)
addObjectToBothSidesOfRelationshipWithKey in interface com.webobjects.eocontrol.EORelationshipManipulationaddObjectToBothSidesOfRelationshipWithKey in class com.webobjects.eocontrol.EOCustomObjecteo - enterprise object to be added to the relationshipkey - relationship to add the object to.public java.lang.String primaryKey()
ERXEnterpriseObject
primaryKey in interface ERXEnterpriseObjectpublic java.lang.Object rawPrimaryKeyInTransaction()
ERXEnterpriseObjectrawPrimaryKey.
rawPrimaryKeyInTransaction in interface ERXEnterpriseObjectpublic java.lang.String primaryKeyInTransaction()
ERXEnterpriseObjectprimaryKey.
primaryKeyInTransaction in interface ERXEnterpriseObjectpublic java.lang.Object rawPrimaryKey()
ERXEnterpriseObject
rawPrimaryKey in interface ERXEnterpriseObjectpublic java.lang.String encryptedPrimaryKey()
ERXEnterpriseObjectERXCrypto.
encryptedPrimaryKey in interface ERXEnterpriseObjectpublic java.lang.Object foreignKeyForRelationshipWithKey(java.lang.String rel)
ERXEnterpriseObject
foreignKeyForRelationshipWithKey in interface ERXEnterpriseObjectrel - relationship key
public com.webobjects.foundation.NSArray<java.lang.String> primaryKeyAttributeNames()
ERXEnterpriseObject
primaryKeyAttributeNames in interface ERXEnterpriseObjectpublic com.webobjects.eoaccess.EOEntity entity()
ERXEOAccessUtilities.entityNamed()
for the actual work.
public com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.Object> primaryKeyDictionary(boolean inTransaction)
ERXGeneratesPrimaryKeyInterface.
This implementation operates in the following fashion. If it is called
passing in 'false' and it has not yet been saved to the database, meaning
this object does not yet have a primary key assigned, then it will have
the adaptor channel generate a primary key for it. Then when the object
is saved to the database it will use the previously generated primary key
instead of having the adaptor channel generate another primary key. If
'true' is passed in then this method will either return the previously
generated primaryKey dictionary or null if it does not have one.
Typically you should only call this method with the 'false' parameter
seeing as unless you are doing something really funky you won't be
dealing with this object when it is in the middle of a transaction. The
delegate ERXDatabaseContextDelegate is the only class that should
be calling this method and passing in 'true'.
primaryKeyDictionary in interface ERXGeneratesPrimaryKeyInterfaceinTransaction - boolean flag to tell the object if it is currently in the
middle of a transaction.
public void _setValueForPrimaryKey(java.lang.Object value,
java.lang.String pkAttributeName)
value - the pk valuepkAttributeName - the pk attribute namepublic void _setPrimaryKeyDictionary(com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.Object> pkDict)
pkDict - the new primary key dictionarypublic java.lang.Object committedSnapshotValueForKey(java.lang.String key)
ERXEnterpriseObject
committedSnapshotValueForKey in interface ERXEnterpriseObjectkey - to be checked in committed snapshot
public com.webobjects.foundation.NSDictionary committedSnapshot()
EOEditingContext.committedSnapshotForObject()
gives unexpected results for newly inserted objects if
EOEditingContext.processRecentChanges()
has been called. This method always returns a dictionary whose values are
all NSKeyValueCoding.NullValue in the case of a newly inserted object.
public com.webobjects.eocontrol.EOEnterpriseObject localInstanceOf(com.webobjects.eocontrol.EOEnterpriseObject eo)
ERXEnterpriseObject
localInstanceOf in interface ERXEnterpriseObjectpublic com.webobjects.eocontrol.EOEnterpriseObject localInstanceIn(com.webobjects.eocontrol.EOEditingContext ec)
ERXEnterpriseObject
localInstanceIn in interface ERXEnterpriseObjectpublic com.webobjects.foundation.NSArray localInstancesOf(com.webobjects.foundation.NSArray eos)
ERXEnterpriseObject
localInstancesOf in interface ERXEnterpriseObjectpublic com.webobjects.foundation.NSDictionary changesFromCommittedSnapshot()
ERXEnterpriseObject
changesFromCommittedSnapshot in interface ERXEnterpriseObjectpublic boolean hasKeyChangedFromCommittedSnapshot(java.lang.String key)
key - The key that you wish to check has changed from the committed snapshot
public boolean hasKeyChangedFromCommittedSnapshotFromValue(java.lang.String key,
java.lang.Object oldValue)
key - The key that you wish to check has changed from the committed snapshotoldValue - The value you wish to see if the key has changed from EG. Has 'status' changed from
STATUS.PENDING_STATUS
public boolean hasKeyChangedFromCommittedSnapshotFromValueToNewValue(java.lang.String key,
java.lang.Object oldValue,
java.lang.Object newValue)
key - The key that you wish to check has changed from the committed snapshotoldValue - The value you wish to see if the key has changed fromnewValue - The value you wish to see if the key has changed to EG. Has 'status' changed from
STATUS.PENDING_STATUS to STATUS.CONFIRMED_STATUS
public boolean hasKeyChangedFromCommittedSnapshotToValue(java.lang.String key,
java.lang.Object newValue)
key - The key that you wish to check has changed from the committed snapshotnewValue - The value you wish to see if the key has changed to EG. Has 'status' changed to
STATUS.CANCELLED_STATUS
public boolean parentObjectStoreIsObjectStoreCoordinator()
ERXEnterpriseObjectEOObjectStoreCoordinator. The reason this is important
is because if this condition evaluates to true then when changes are saved in this
editing context they will be propagated to the database.
parentObjectStoreIsObjectStoreCoordinator in interface ERXEnterpriseObjectpublic ERXEnterpriseObject refetchObjectFromDB()
refetchObjectFromDBinEditingContext(EOEditingContext ec) and
passes the object's Editing Context as Editing Context parameter.
public ERXEnterpriseObject refetchObjectFromDBinEditingContext(com.webobjects.eocontrol.EOEditingContext ec)
ERXEnterpriseObject
refetchObjectFromDBinEditingContext in interface ERXEnterpriseObjectec - the editing context in which the result will be placed
public com.webobjects.eocontrol.EOKeyGlobalID permanentGlobalID(boolean generateIfMissing)
primaryKeyDictionary() to allocate the
primary key if necessary. Then we build an EOKeyGlobalID from it. If the
object already has a permanent global ID, we use that.
If you pass false for generateIfMissing and this object
has a temporary global ID, null will be returned.
public com.webobjects.eocontrol.EOKeyGlobalID permanentGlobalID()
permanentGlobalID(boolean)public java.lang.String toString()
toLongString. To restore the original verbose logging in
your subclasses override this method and return toLongString.
toString in class com.webobjects.eocontrol.EOCustomObjectpublic java.lang.String description()
ERXEnterpriseObjecttoString.
description in interface ERXEnterpriseObjectpublic java.lang.String toLongString()
ERXEnterpriseObject
toLongString in interface ERXEnterpriseObjecttoString.public void trimSpaces()
ERXEnterpriseObject
trimSpaces in interface ERXEnterpriseObjectpublic boolean isDeletedEO()
ERXEnterpriseObject
isDeletedEO in interface ERXEnterpriseObjectpublic boolean isNewEO()
ERXGenericRecord#isNewObject
public boolean isNewObject()
ERXEnterpriseObject
isNewObject in interface ERXEnterpriseObjectpublic boolean isUpdatedObject()
public void setValidatedWhenNested(boolean validatedWhenNested)
validatedWhenNested - public boolean isValidatedWhenNested()
public java.lang.Object validateValueForKey(java.lang.Object value,
java.lang.String key)
throws com.webobjects.foundation.NSValidation.ValidationException
ERXEntityClassDescription or subclass. It is that class that
provides the hooks to convert model throw validation exceptions into
ERXValidationException objects.
validateValueForKey in interface com.webobjects.foundation.NSValidationvalidateValueForKey in class com.webobjects.eocontrol.EOCustomObjectvalue - to be validated for a given attribute or relationshipkey - corresponding to an attribute or relationship
NSValidation.ValidationException - if the value fails validation
protected java.lang.Object _validateValueForKey(java.lang.Object value,
java.lang.String key)
throws com.webobjects.foundation.NSValidation.ValidationException
com.webobjects.foundation.NSValidation.ValidationException
public void validateForSave()
throws com.webobjects.foundation.NSValidation.ValidationException
checkConsistency will be called on this object.
validateForSave in interface com.webobjects.eocontrol.EOValidationvalidateForSave in class com.webobjects.eocontrol.EOCustomObjectNSValidation.ValidationException - if the object does not pass validation for saving to the
database.
public void validateForInsert()
throws com.webobjects.foundation.NSValidation.ValidationException
validateForInsert in interface com.webobjects.eocontrol.EOValidationvalidateForInsert in class com.webobjects.eocontrol.EOCustomObjectNSValidation.ValidationException - if the object does not pass validation for saving to the
database.
public void validateForUpdate()
throws com.webobjects.foundation.NSValidation.ValidationException
validateForUpdate in interface com.webobjects.eocontrol.EOValidationvalidateForUpdate in class com.webobjects.eocontrol.EOCustomObjectNSValidation.ValidationException - if the object does not pass validation for saving to the
database.
public void checkConsistency()
throws com.webobjects.foundation.NSValidation.ValidationException
ERXEnterpriseObject
checkConsistency in interface ERXEnterpriseObjectNSValidation.ValidationException - if the object is not consistent
public void batchCheckConsistency()
throws com.webobjects.foundation.NSValidation.ValidationException
ERXEnterpriseObjectcheckConsistency method
except that this method is only called from an outside process, usually
a batch process, to verify that the data this object holds is consistent.
JUnit tests are great for testing that all of the methods of a single
object function correctly, batch checking of consistency is a good way
of checking that all of the data in a given database is consistent. Hopefully
in the future we will add a batch check consistency application to demonstrate
the use of this method.
batchCheckConsistency in interface ERXEnterpriseObjectNSValidation.ValidationException - if the object fails consistency
public void includeObjectIntoPropertyWithKey(java.lang.Object o,
java.lang.String key)
includeObjectIntoPropertyWithKey in class com.webobjects.eocontrol.EOCustomObject
public void excludeObjectFromPropertyWithKey(java.lang.Object o,
java.lang.String key)
excludeObjectFromPropertyWithKey in class com.webobjects.eocontrol.EOCustomObject
public void takeValueForKey(java.lang.Object value,
java.lang.String key)
takeValueForKey in interface com.webobjects.foundation.NSKeyValueCodingtakeValueForKey in class com.webobjects.eocontrol.EOCustomObject
public void takeStoredValueForKey(java.lang.Object value,
java.lang.String key)
takeStoredValueForKey in interface com.webobjects.eocontrol.EOKeyValueCodingtakeStoredValueForKey in class com.webobjects.eocontrol.EOCustomObjectpublic void updateFromSnapshot(com.webobjects.foundation.NSDictionary snapshot)
updateFromSnapshot in interface com.webobjects.eocontrol.EOEnterpriseObjectupdateFromSnapshot in class com.webobjects.eocontrol.EOCustomObject
public static void checkMatchingEditingContexts(com.webobjects.eocontrol.EOEnterpriseObject source,
java.lang.String relationshipName,
com.webobjects.eocontrol.EOEnterpriseObject destination)
source - the source objectrelationshipName - the name of the relationship that is being updateddestination - the destination object
java.lang.RuntimeException - if the editing contexts do not matchpublic long batchFaultingTimeStamp()
batchFaultingTimeStamp in interface ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObjectpublic com.webobjects.eocontrol.EOGlobalID batchFaultingSourceGlobalID()
batchFaultingSourceGlobalID in interface ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObjectpublic java.lang.String batchFaultingRelationshipName()
batchFaultingRelationshipName in interface ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObject
public void touchFromBatchFaultingSource(ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObject toucher,
java.lang.String key)
touchFromBatchFaultingSource in interface ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObjecttoucher - key - public void setBatchFaultingTimestamp(long timestamp)
setBatchFaultingTimestamp in interface ERXDatabaseContextDelegate.AutoBatchFaultingEnterpriseObjecttimestamp - public final java.lang.Boolean isNonNull()
isNonNull in interface ERXNonNullObjectInterface
|
Last updated: Tue, Feb 21, 2017 05:45 PM CET | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||