Package org.apache.cayenne
Class HybridDataObject
java.lang.Object
org.apache.cayenne.PersistentObject
org.apache.cayenne.BaseDataObject
org.apache.cayenne.HybridDataObject
- All Implemented Interfaces:
- Serializable,- DataObject,- Persistent,- Validating
public class HybridDataObject extends BaseDataObject
This data object like 
CayenneDataObject uses Map to store generic attributes,
 only difference is that this Map will be created lazily at first write, thus reducing memory penalty if possible.
 
 This class can be used as superclass for objects that have attributes created at runtime.
 If generic runtime attributes will be used always it may be a good idea to use CayenneDataObject instead.
 If you don't create attributes at runtime it is better to use BaseDataObject class.
 
Map creation is not thread safe, as DataObject in general not thread safe by it's own.
- Since:
- 4.1
- See Also:
- BaseDataObject,- CayenneDataObject, Serialized Form
- 
Field SummaryFields inherited from class org.apache.cayenne.BaseDataObjectsnapshotVersionFields inherited from class org.apache.cayenne.PersistentObjectobjectContext, objectId, persistenceStateFields inherited from interface org.apache.cayenne.DataObjectDEFAULT_VERSION
- 
Constructor SummaryConstructors Constructor Description HybridDataObject()
- 
Method SummaryModifier and Type Method Description protected voidappendProperties(StringBuffer buffer)ObjectreadPropertyDirectly(String propName)Returns mapped property value as curently stored in the DataObject.protected voidreadState(ObjectInputStream in)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 voidwriteState(ObjectOutputStream out)Methods inherited from class org.apache.cayenne.BaseDataObjectaddToManyTarget, beforePropertyRead, beforePropertyWrite, getSnapshotVersion, readNestedProperty, readProperty, readSerialized, removeToManyTarget, setObjectContext, setPersistenceState, setReverseRelationship, setSnapshotVersion, setToManyTarget, setToOneTarget, toString, toStringBuffer, unsetReverseRelationship, validateForDelete, validateForInsert, validateForSave, validateForUpdate, willConnect, writeProperty, writeSerializedMethods inherited from class org.apache.cayenne.PersistentObjectgetMapKey, getObjectContext, getObjectId, getPersistenceState, setObjectIdMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.cayenne.PersistentgetObjectContext, getObjectId, getPersistenceState, setObjectId
- 
Field Details- 
values
 
- 
- 
Constructor Details- 
HybridDataObjectpublic HybridDataObject()
 
- 
- 
Method Details- 
readPropertyDirectlyDescription copied from interface:DataObjectReturns mapped property value as curently stored in the DataObject. 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 interface- DataObject
- Overrides:
- readPropertyDirectlyin class- BaseDataObject
 
- 
writePropertyDirectlyDescription copied from interface:DataObjectModifies 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 interface- DataObject
- Overrides:
- writePropertyDirectlyin class- BaseDataObject
 
- 
appendProperties- Overrides:
- appendPropertiesin class- BaseDataObject
 
- 
readState- Overrides:
- readStatein class- BaseDataObject
- Throws:
- IOException
- ClassNotFoundException
 
- 
writeState- Overrides:
- writeStatein class- BaseDataObject
- Throws:
- IOException
 
 
-