Package org.apache.cayenne
Interface ValueHolder<E>
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
IndexPropertyList
,PersistentObjectHolder
,PersistentObjectList
,PersistentObjectMap
,PersistentObjectSet
,ToManyList
,ToManySet
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
Modifier and TypeMethodDescriptiongetValue()
Returns an object stored by this ValueHolder.Retrieves ValueHolder value without triggering fault resolution.void
Turns a ValueHolder into a fault.boolean
isFault()
Returns true if the internal value is not yet resolved.Sets an object stored by this ValueHolder.setValueDirectly
(E value) Sets ValueHolder vaue without triggering fault resolution.
-
Method Details
-
getValue
Returns an object stored by this ValueHolder.- Throws:
CayenneRuntimeException
-
getValueDirectly
Retrieves ValueHolder value without triggering fault resolution.- Throws:
CayenneRuntimeException
-
setValue
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
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.
-