org.apache.cayenne
Interface DataObject

All Superinterfaces:
Persistent, Serializable
All Known Implementing Classes:
CayenneDataObject

public interface DataObject
extends Persistent

Defines basic methods for a persistent object in Cayenne.


Field Summary
static long DEFAULT_VERSION
           
 
Method Summary
 void addToManyTarget(String relationshipName, DataObject target, boolean setReverse)
          Adds an object to a to-many relationship.
 void fetchFinished()
          Deprecated. since 3.0 users must use callbacks instead. This method is no longer invoked by Cayenne runtime.
 DataContext getDataContext()
          Deprecated. since 3.0 use Persistent.getObjectContext().
 long getSnapshotVersion()
          Returns a version of a DataRow snapshot that was used to create this object.
 Object readNestedProperty(String path)
          Returns a value of the property identified by a property path.
 Object readProperty(String propName)
          Returns a value of the property identified by propName.
 Object readPropertyDirectly(String propertyName)
          Returns mapped property value as curently stored in the DataObject.
 void removeToManyTarget(String relationshipName, DataObject target, boolean unsetReverse)
          Removes an object from a to-many relationship.
 void setDataContext(DataContext ctxt)
          Deprecated. since 3.0 use Persistent.setObjectContext(ObjectContext).
 void setSnapshotVersion(long snapshotVersion)
           
 void setToOneTarget(String relationshipName, DataObject value, boolean setReverse)
          Sets to-one relationship to a new value.
 void writeProperty(String propertyName, Object value)
          Sets the property to the new value.
 void writePropertyDirectly(String propertyName, Object val)
          Modifies a value of a named property without altering the object state in any way, and without triggering any database operations.
 
Methods inherited from interface org.apache.cayenne.Persistent
getObjectContext, getObjectId, getPersistenceState, setObjectContext, setObjectId, setPersistenceState
 

Field Detail

DEFAULT_VERSION

static final long DEFAULT_VERSION
See Also:
Constant Field Values
Method Detail

getDataContext

@Deprecated
DataContext getDataContext()
Deprecated. since 3.0 use Persistent.getObjectContext().

Returns a data context this object is registered with, or null if this object has no associated DataContext.


setDataContext

@Deprecated
void setDataContext(DataContext ctxt)
Deprecated. since 3.0 use Persistent.setObjectContext(ObjectContext).

Sets object DataContext.


writePropertyDirectly

void writePropertyDirectly(String propertyName,
                           Object val)
Modifies 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.


readPropertyDirectly

Object readPropertyDirectly(String propertyName)
Returns 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.


readNestedProperty

Object readNestedProperty(String path)
Returns a value of the property identified by a property path. Supports reading both mapped and unmapped properties. Unmapped properties are accessed in a manner consistent with JavaBeans specification.

Property path (or nested property) is a dot-separated path used to traverse object relationships until the final object is found. If a null object found while traversing path, null is returned. If a list is encountered in the middle of the path, CayenneRuntimeException is thrown. Unlike readPropertyDirectly(String), this method will resolve an object if it is HOLLOW.

Examples:

Since:
1.0.5

readProperty

Object readProperty(String propName)
Returns a value of the property identified by propName. Resolves faults if needed. This method can safely be used instead of or in addition to the auto-generated property accessors in subclasses of CayenneDataObject.


writeProperty

void writeProperty(String propertyName,
                   Object value)
Sets the property to the new value. Resolves faults if needed. This method can be safely used instead of or in addition to the auto-generated property modifiers to set simple properties. Note that to set to-one relationships use setToOneTarget(String, DataObject, boolean).

Parameters:
propertyName - a name of the bean property being modified.
value - a new value of the property.

addToManyTarget

void addToManyTarget(String relationshipName,
                     DataObject target,
                     boolean setReverse)
Adds an object to a to-many relationship.


removeToManyTarget

void removeToManyTarget(String relationshipName,
                        DataObject target,
                        boolean unsetReverse)
Removes an object from a to-many relationship.


setToOneTarget

void setToOneTarget(String relationshipName,
                    DataObject value,
                    boolean setReverse)
Sets to-one relationship to a new value. Resolves faults if needed. This method can safely be used instead of or in addition to the auto-generated property modifiers to set properties that are to-one relationships.

Parameters:
relationshipName - a name of the bean property being modified - same as the name of ObjRelationship.
value - a new value of the property.
setReverse - whether to update the reverse relationship pointing from the old and new values of the property to this object.

fetchFinished

@Deprecated
void fetchFinished()
Deprecated. since 3.0 users must use callbacks instead. This method is no longer invoked by Cayenne runtime.

See Also:
LifecycleListener

getSnapshotVersion

long getSnapshotVersion()
Returns a version of a DataRow snapshot that was used to create this object.

Since:
1.1

setSnapshotVersion

void setSnapshotVersion(long snapshotVersion)
Since:
1.1


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.