org.apache.cayenne
Interface ValueHolder

All Superinterfaces:
Serializable
All Known Implementing Classes:
IndexPropertyList, PersistentObjectHolder, PersistentObjectList, PersistentObjectMap, PersistentObjectSet, ToManyList

public interface ValueHolder
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
 Object getValue()
          Returns an object stored by this ValueHolder.
 Object 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.
 Object setValue(Object value)
          Sets an object stored by this ValueHolder.
 Object setValueDirectly(Object value)
          Sets ValueHolder vaue without triggering fault resolution.
 

Method Detail

getValue

Object getValue()
                throws CayenneRuntimeException
Returns an object stored by this ValueHolder.

Throws:
CayenneRuntimeException

getValueDirectly

Object getValueDirectly()
                        throws CayenneRuntimeException
Retrieves ValueHolder value without triggering fault resolution.

Throws:
CayenneRuntimeException

setValue

Object setValue(Object 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

Object setValueDirectly(Object 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.



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