org.apache.cayenne.util
Class PersistentObjectList

java.lang.Object
  extended by org.apache.cayenne.util.RelationshipFault
      extended by org.apache.cayenne.util.PersistentObjectList
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable, java.util.Collection, java.util.List, ValueHolder

public class PersistentObjectList
extends RelationshipFault
implements java.util.List, ValueHolder

A list of persistent objects lazily resolved on the first access.

Since:
1.2
Author:
Andrus Adamchik
See Also:
Serialized Form

Field Summary
protected  java.util.LinkedList addedToUnresolved
           
protected  java.util.List objectList
           
protected  java.util.LinkedList removedFromUnresolved
           
 
Fields inherited from class org.apache.cayenne.util.RelationshipFault
relationshipName, relationshipOwner
 
Constructor Summary
PersistentObjectList(Persistent relationshipOwner, java.lang.String relationshipName)
          Creates PersistentObjectList initializing it with list owner persistent object and relationship name that this list maps to.
 
Method Summary
 void add(int index, java.lang.Object o)
           
 boolean add(java.lang.Object o)
           
 boolean addAll(java.util.Collection c)
           
 boolean addAll(int index, java.util.Collection c)
           
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection c)
           
 boolean equals(java.lang.Object o)
           
 java.lang.Object get(int index)
           
 java.lang.Object getValue()
          Returns an object stored by this ValueHolder.
 java.lang.Object getValueDirectly()
          Retrieves ValueHolder value without triggering fault resolution.
 int hashCode()
           
 int indexOf(java.lang.Object o)
           
 void invalidate()
          Turns itself into a fault, thus forcing a refresh on the next access.
 boolean isEmpty()
           
 boolean isFault()
          Returns whether this list is not yet resolved and requires a fetch.
 java.util.Iterator iterator()
           
 int lastIndexOf(java.lang.Object o)
           
 java.util.ListIterator listIterator()
           
 java.util.ListIterator listIterator(int index)
           
 java.lang.Object remove(int index)
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection c)
           
protected  java.util.List resolvedObjectList()
          Returns internal objects list resolving it if needed.
 boolean retainAll(java.util.Collection c)
           
 java.lang.Object set(int index, java.lang.Object o)
           
 void setObjectList(java.util.List objectList)
           
 java.lang.Object setValue(java.lang.Object value)
          Sets an object stored by this ValueHolder.
 java.lang.Object setValueDirectly(java.lang.Object value)
          Sets ValueHolder vaue without triggering fault resolution.
 int size()
           
 java.util.List subList(int fromIndex, int toIndex)
           
 java.lang.Object[] toArray()
           
 java.lang.Object[] toArray(java.lang.Object[] a)
           
 java.lang.String toString()
           
 
Methods inherited from class org.apache.cayenne.util.RelationshipFault
getRelationshipName, getRelationshipOwner, isTransientParent, isUncommittedParent, resolveFromDB
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

objectList

protected java.util.List objectList

addedToUnresolved

protected java.util.LinkedList addedToUnresolved

removedFromUnresolved

protected java.util.LinkedList removedFromUnresolved
Constructor Detail

PersistentObjectList

public PersistentObjectList(Persistent relationshipOwner,
                            java.lang.String relationshipName)
Creates PersistentObjectList initializing it with list owner persistent object and relationship name that this list maps to.

Parameters:
relationshipOwner - persistent object that owns this list.
relationshipName - a query used to resolve the list
Method Detail

isFault

public boolean isFault()
Returns whether this list is not yet resolved and requires a fetch.

Specified by:
isFault in interface ValueHolder

invalidate

public void invalidate()
Turns itself into a fault, thus forcing a refresh on the next access.

Specified by:
invalidate in interface ValueHolder

setValueDirectly

public java.lang.Object setValueDirectly(java.lang.Object value)
                                  throws CayenneRuntimeException
Description copied from interface: ValueHolder
Sets ValueHolder vaue without triggering fault resolution.

Specified by:
setValueDirectly in interface ValueHolder
Throws:
CayenneRuntimeException

getValue

public java.lang.Object getValue()
                          throws CayenneRuntimeException
Description copied from interface: ValueHolder
Returns an object stored by this ValueHolder.

Specified by:
getValue in interface ValueHolder
Throws:
CayenneRuntimeException

getValueDirectly

public java.lang.Object getValueDirectly()
                                  throws CayenneRuntimeException
Description copied from interface: ValueHolder
Retrieves ValueHolder value without triggering fault resolution.

Specified by:
getValueDirectly in interface ValueHolder
Throws:
CayenneRuntimeException

setValue

public java.lang.Object setValue(java.lang.Object value)
                          throws CayenneRuntimeException
Description copied from interface: ValueHolder
Sets an object stored by this ValueHolder.

Specified by:
setValue in interface ValueHolder
Parameters:
value - a new value of the ValueHolder.
Returns:
a previous value saved in the ValueHolder.
Throws:
CayenneRuntimeException

setObjectList

public void setObjectList(java.util.List objectList)

add

public boolean add(java.lang.Object o)
Specified by:
add in interface java.util.Collection
Specified by:
add in interface java.util.List

add

public void add(int index,
                java.lang.Object o)
Specified by:
add in interface java.util.List

addAll

public boolean addAll(java.util.Collection c)
Specified by:
addAll in interface java.util.Collection
Specified by:
addAll in interface java.util.List

addAll

public boolean addAll(int index,
                      java.util.Collection c)
Specified by:
addAll in interface java.util.List

clear

public void clear()
Specified by:
clear in interface java.util.Collection
Specified by:
clear in interface java.util.List

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection
Specified by:
contains in interface java.util.List

containsAll

public boolean containsAll(java.util.Collection c)
Specified by:
containsAll in interface java.util.Collection
Specified by:
containsAll in interface java.util.List

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Collection
Specified by:
equals in interface java.util.List
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection
Specified by:
hashCode in interface java.util.List
Overrides:
hashCode in class java.lang.Object

get

public java.lang.Object get(int index)
Specified by:
get in interface java.util.List

indexOf

public int indexOf(java.lang.Object o)
Specified by:
indexOf in interface java.util.List

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection
Specified by:
isEmpty in interface java.util.List

iterator

public java.util.Iterator iterator()
Specified by:
iterator in interface java.lang.Iterable
Specified by:
iterator in interface java.util.Collection
Specified by:
iterator in interface java.util.List

lastIndexOf

public int lastIndexOf(java.lang.Object o)
Specified by:
lastIndexOf in interface java.util.List

listIterator

public java.util.ListIterator listIterator()
Specified by:
listIterator in interface java.util.List

listIterator

public java.util.ListIterator listIterator(int index)
Specified by:
listIterator in interface java.util.List

remove

public java.lang.Object remove(int index)
Specified by:
remove in interface java.util.List

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection
Specified by:
remove in interface java.util.List

removeAll

public boolean removeAll(java.util.Collection c)
Specified by:
removeAll in interface java.util.Collection
Specified by:
removeAll in interface java.util.List

retainAll

public boolean retainAll(java.util.Collection c)
Specified by:
retainAll in interface java.util.Collection
Specified by:
retainAll in interface java.util.List

set

public java.lang.Object set(int index,
                            java.lang.Object o)
Specified by:
set in interface java.util.List

size

public int size()
Specified by:
size in interface java.util.Collection
Specified by:
size in interface java.util.List

subList

public java.util.List subList(int fromIndex,
                              int toIndex)
Specified by:
subList in interface java.util.List

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection
Specified by:
toArray in interface java.util.List

toArray

public java.lang.Object[] toArray(java.lang.Object[] a)
Specified by:
toArray in interface java.util.Collection
Specified by:
toArray in interface java.util.List

resolvedObjectList

protected java.util.List resolvedObjectList()
Returns internal objects list resolving it if needed.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2001-2006 Apache.org All Rights Reserved.