Class GenericPersistentObject
java.lang.Object
org.apache.cayenne.PersistentObject
org.apache.cayenne.GenericPersistentObject
- All Implemented Interfaces:
Serializable, Persistent, Validating
Implementation of
Persistent that uses Map to store object fields.
This implementation was pre 4.1 default.
Since 4.1 it is recommended to use PersistentObject as superclass (and it is actually default now),
as it has better performance and lower memory consumption (much lower for small objects).
You may need to use this class only if you have some generic attributes created at runtime (also
consider HybridPersistentObject in this case) or if any compatibility issues arise.
- Since:
- 5.0, renamed from CayenneDataObject
- See Also:
-
Field Summary
FieldsFields inherited from class PersistentObject
objectContext, objectId, persistenceState, snapshotVersionModifier and TypeFieldDescriptionprotected ObjectContextprotected ObjectIdprotected intprotected longFields inherited from interface Persistent
DEFAULT_VERSION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendProperties(StringBuffer buffer) readPropertyDirectly(String propName) Returns mapped property value as currently stored in the Persistent object.protected voidvoidsetPersistenceState(int persistenceState) voidwritePropertyDirectly(String propName, Object val) Modifies a value of a named property without altering the object state in any way, and without triggering any database operations.protected voidMethods inherited from class PersistentObject
addToManyTarget, beforePropertyRead, beforePropertyWrite, getMapKey, getObjectContext, getObjectId, getPersistenceState, getSnapshotVersion, readNestedProperty, readNestedProperty, readProperty, readSerialized, removeToManyTarget, setObjectContext, setObjectId, setReverseRelationship, setSnapshotVersion, setToManyTarget, setToOneTarget, toString, toStringBuffer, unsetReverseRelationship, validateForDelete, validateForInsert, validateForSave, validateForUpdate, willConnect, writeProperty, writeSerializedModifier and TypeMethodDescriptionvoidaddToManyTarget(String relName, Persistent value, boolean setReverse) Adds an object to a to-many relationship.protected voidbeforePropertyRead(String propName) protected voidbeforePropertyWrite(String propName, Object oldValue, Object newValue) protected ObjectReturns a map key for a given to-many map relationship and a target object.intlongReturns a version of a DataRow snapshot that was used to create this object.readNestedProperty(String path) Returns a value of the property identified by a property path.Returns a value of the property identified by a property path.readProperty(String propertyName) Returns a value of the property identified by propName.protected voidvoidremoveToManyTarget(String relName, Persistent value, boolean setReverse) Removes an object from a to-many relationship.voidsetObjectContext(ObjectContext objectContext) voidsetObjectId(ObjectId objectId) protected voidsetReverseRelationship(String relName, Persistent val) Initializes reverse relationship from objectvalto this object.voidsetSnapshotVersion(long snapshotVersion) List<? extends Persistent> setToManyTarget(String relName, Collection<? extends Persistent> values, boolean setReverse) Sets the relationships to the specifiedPersistentobjects.voidsetToOneTarget(String relationshipName, Persistent value, boolean setReverse) Sets to-one relationship to a new value.toString()toStringBuffer(StringBuffer buffer, boolean fullDesc) A variation of "toString" method, that may be more efficient in some cases.protected voidunsetReverseRelationship(String relName, Persistent val) Removes current object from reverse relationship of objectvalto this object.voidvalidateForDelete(ValidationResult validationResult) This implementation does nothing.voidvalidateForInsert(ValidationResult validationResult) protected voidvalidateForSave(ValidationResult validationResult) Performs property validation of the object, appending any validation failures to the provided validationResult object.voidvalidateForUpdate(ValidationResult validationResult) protected voidwillConnect(String relationshipName, Persistent object) Called before establishing a relationship with another object.voidwriteProperty(String propName, Object val) Sets the property to the new value.protected void
-
Field Details
-
values
-
-
Constructor Details
-
GenericPersistentObject
public GenericPersistentObject()
-
-
Method Details
-
setPersistenceState
public void setPersistenceState(int persistenceState) - Specified by:
setPersistenceStatein interfacePersistent- Overrides:
setPersistenceStatein classPersistentObject
-
readPropertyDirectly
Description copied from interface:PersistentReturns mapped property value as currently stored in the Persistent object. Returned value maybe a fault or a real value. This method will not attempt to resolve faults, or to read unmapped properties.- Specified by:
readPropertyDirectlyin interfacePersistent- Overrides:
readPropertyDirectlyin classPersistentObject
-
writePropertyDirectly
Description copied from interface:PersistentModifies a value of a named property without altering the object state in any way, and without triggering any database operations. This method is intended mostly for internal use by Cayenne framework, and shouldn't be called from the application code.- Specified by:
writePropertyDirectlyin interfacePersistent- Overrides:
writePropertyDirectlyin classPersistentObject
-
appendProperties
- Overrides:
appendPropertiesin classPersistentObject
-
readState
- Overrides:
readStatein classPersistentObject- Throws:
IOExceptionClassNotFoundException
-
writeState
- Overrides:
writeStatein classPersistentObject- Throws:
IOException
-