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
Modifier and Type Method Description EgetValue()Returns an object stored by this ValueHolder.EgetValueDirectly()Retrieves ValueHolder value without triggering fault resolution.voidinvalidate()Turns a ValueHolder into a fault.booleanisFault()Returns true if the internal value is not yet resolved.EsetValue(E value)Sets an object stored by this ValueHolder.EsetValueDirectly(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.
-