Package org.apache.cayenne
Interface ValueHolder<E>
-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
IndexPropertyList
,PersistentObjectHolder
,PersistentObjectList
,PersistentObjectMap
,PersistentObjectSet
,ToManyList
,ToManySet
public interface ValueHolder<E> extends Serializable
Provides a level of indirection for property value access, most often used for deferred faulting of to-one relationships. A ValueHolder abstracts how a property value is obtained (fetched from DB, etc.), thus simplifying design of an object that uses it.Here is an example of a bean property implemented using ValueHolder:
protected ValueHolder someProperty; public SomeClass getSomeProperty() { return (SomeClass) somePropertyHolder.getValue(SomeClass.class); } public void setSomeProperty(SomeClass newValue) { somePropertyHolder.setValue(SomeClass.class, newValue); }
- Since:
- 1.2
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description E
getValue()
Returns an object stored by this ValueHolder.E
getValueDirectly()
Retrieves ValueHolder value without triggering fault resolution.void
invalidate()
Turns a ValueHolder into a fault.boolean
isFault()
Returns true if the internal value is not yet resolved.E
setValue(E value)
Sets an object stored by this ValueHolder.E
setValueDirectly(E value)
Sets ValueHolder vaue without triggering fault resolution.
-
-
-
Method Detail
-
getValue
E getValue() throws CayenneRuntimeException
Returns an object stored by this ValueHolder.- Throws:
CayenneRuntimeException
-
getValueDirectly
E getValueDirectly() throws CayenneRuntimeException
Retrieves ValueHolder value without triggering fault resolution.- Throws:
CayenneRuntimeException
-
setValue
E setValue(E value) throws CayenneRuntimeException
Sets an object stored by this ValueHolder.- Parameters:
value
- a new value of the ValueHolder.- Returns:
- a previous value saved in the ValueHolder.
- Throws:
CayenneRuntimeException
-
setValueDirectly
E setValueDirectly(E value) throws CayenneRuntimeException
Sets ValueHolder vaue without triggering fault resolution.- Throws:
CayenneRuntimeException
-
isFault
boolean isFault()
Returns true if the internal value is not yet resolved.
-
invalidate
void invalidate()
Turns a ValueHolder into a fault.
-
-