|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection
java.util.AbstractList
java.util.Vector
java.util.Stack
org.jpox.sco.Stack
A mutable second-class Stack object.
Extends java.util.Stack since it needs to be castable to the users type. Backed by a ListStore object. Uses a delegate internally to store its internal state rather than the superclass. The reason for this is that the java.util collections call their own methods internally and so things like removeAll calls remove on each item in the list. We want control since we want to remove the datastore entries in one call rather than mutiple. All mutator methods are intercepted and sent to the backing store, so it is always consistent with the current object.
Field Summary | |
protected boolean |
isCacheLoaded
Status flag whether the collection is loaded into the cache. |
protected boolean |
useCache
Whether to use "delegate" caching. |
Fields inherited from class java.util.Vector |
capacityIncrement, elementCount, elementData |
Fields inherited from class java.util.AbstractList |
modCount |
Constructor Summary | |
Stack(StateManager ownerSM,
java.lang.String fieldName)
Constructor, using the StateManager of the "owner" and the field name. |
Method Summary | |
void |
add(int index,
java.lang.Object element)
Method to add an element to a position in the Stack |
boolean |
add(java.lang.Object element)
Method to add an element to the Stack |
boolean |
addAll(java.util.Collection elements)
Method to add a Collection to the Stack |
boolean |
addAll(int index,
java.util.Collection elements)
Method to add a Collection to a position in the Stack |
void |
addElement(java.lang.Object element)
Method to add an element to the Stack |
void |
attachCopy(java.lang.Object value)
Method to return an attached copy of the passed (detached) value. |
void |
clear()
Method to clear the Stack |
java.lang.Object |
clone()
Clone operator to return a copy of this object. |
boolean |
contains(java.lang.Object element)
Method to return if the list contains this element. |
void |
detach(FetchPlanState state)
Method to detach the PersistenceCapable elements of this container. |
java.lang.Object |
detachCopy(FetchPlanState state)
Method to return a detached copy of the container. |
boolean |
empty()
Accessor for whether the Stack is empty. |
boolean |
equals(java.lang.Object o)
Equality operator. |
java.lang.Object |
get(int index)
Method to retrieve an element no. |
java.lang.Class |
getElementType()
Accessor for the element type. |
java.lang.String |
getFieldName()
Accessor for the field name. |
java.lang.Object |
getOwner()
Accessor for the owner object. |
int |
indexOf(java.lang.Object element)
Method to the position of an element. |
boolean |
isEmpty()
Accessor for whether the Stack is empty. |
java.util.Iterator |
iterator()
Method to retrieve an iterator for the list. |
int |
lastIndexOf(java.lang.Object element)
Method to retrieve the last position of the element. |
java.util.ListIterator |
listIterator()
Method to retrieve a List iterator for the list. |
java.util.ListIterator |
listIterator(int index)
Method to retrieve a List iterator for the list from the index. |
void |
load()
Method to effect the load of the data in the SCO. |
protected void |
loadFromStore()
Method to load all elements from the "backing store" where appropriate. |
void |
makeDirty()
Utility to mark the object as dirty |
void |
makeTransient(FetchPlanState state)
Method to make transient all elements of this container. |
QueryExpression |
newQueryStatement()
Method to generate a QueryStatement for the SCO. |
QueryExpression |
newQueryStatement(java.lang.Class candidate_class)
Method to return a QueryStatement, using the specified candidate class. |
Query.ResultObjectFactory |
newResultObjectFactory(QueryExpression stmt,
boolean ignoreCache,
java.lang.Class resultClass,
boolean useFetchPlan)
Method to return a ResultObjectFactory for the SCO. |
java.lang.Object |
peek()
Method to retrieve the element at the top of the stack. |
java.lang.Object |
pop()
Method to remove the top element in the stack and return it. |
java.lang.Object |
push(java.lang.Object element)
Method to push an element onto the stack and return it. |
java.lang.Object |
remove(int index)
Method to remove an element from the Stack |
boolean |
remove(java.lang.Object element)
Method to remove an element from the Stack |
boolean |
removeAll(java.util.Collection elements)
Method to remove a Collection of objects from the Stack |
void |
removeAllElements()
Method to remove all elements from the Stack. |
boolean |
removeElement(java.lang.Object element)
Method to remove an element from the Stack |
void |
removeElementAt(int index)
Method to remove an element from the Stack |
boolean |
retainAll(java.util.Collection c)
Method to retain a Collection of elements (and remove all others). |
void |
runReachability(java.util.Set reachables)
Method to run reachability on this SCO. |
java.lang.Object |
set(int index,
java.lang.Object element)
Method to set the element at a position in the Stack |
java.lang.Object |
set(int index,
java.lang.Object element,
boolean allowDependentField)
JPOX wrapper addition that allows turning off of the dependent-field checks when doing the position setting. |
void |
setElementAt(java.lang.Object element,
int index)
Method to set the element at a position in the Stack |
void |
setValueFrom(java.lang.Object o,
boolean forUpdate)
Mutator for setting using an object. |
int |
size()
Accessor for the size of the Stack. |
java.util.List |
subList(int from,
int to)
Accessor for the subList of elements between from and to of the List |
java.lang.Object[] |
toArray()
Method to return the list as an array. |
java.lang.Object[] |
toArray(java.lang.Object[] a)
Method to return the list as an array. |
void |
unsetOwner()
Method to unset the owner and field information. |
void |
updateEmbeddedElement(java.lang.Object element,
int fieldNumber,
java.lang.Object value)
Method to update an embedded element in this collection. |
protected java.lang.Object |
writeReplace()
The writeReplace method is called when ObjectOutputStream is preparing to write the object to the stream. |
Methods inherited from class java.util.Stack |
search |
Methods inherited from class java.util.Vector |
capacity, containsAll, copyInto, elementAt, elements, ensureCapacity, firstElement, hashCode, indexOf, insertElementAt, lastElement, lastIndexOf, removeRange, setSize, toString, trimToSize |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
protected boolean useCache
protected boolean isCacheLoaded
Constructor Detail |
public Stack(StateManager ownerSM, java.lang.String fieldName)
ownerSM
- The owner StateManagerfieldName
- The name of the field of the SCO.Method Detail |
public java.lang.Class getElementType()
getElementType
in interface SCOCollection
public void load()
load
in interface SCOLazyLoading
public void updateEmbeddedElement(java.lang.Object element, int fieldNumber, java.lang.Object value)
updateEmbeddedElement
in interface SCOCollection
element
- The elementfieldNumber
- Number of field in the elementvalue
- New value for this fieldpublic void setValueFrom(java.lang.Object o, boolean forUpdate)
setValueFrom
in interface SCO
o
- The object to set fromforUpdate
- Whether to update the datastore with this valuepublic java.lang.String getFieldName()
getFieldName
in interface SCO
public java.lang.Object getOwner()
getOwner
in interface SCO
public void unsetOwner()
unsetOwner
in interface SCO
public void makeDirty()
public void runReachability(java.util.Set reachables)
runReachability
in interface SCO
reachables
- List of StateManagers reachable so farpublic void makeTransient(FetchPlanState state)
makeTransient
in interface SCO
state
- State for the fetchplan processpublic void detach(FetchPlanState state)
detach
in interface SCO
state
- State for the detachment processpublic java.lang.Object detachCopy(FetchPlanState state)
detachCopy
in interface SCO
state
- State of detachment state
public void attachCopy(java.lang.Object value)
attachCopy
in interface SCO
value
- The new (collection) valuepublic QueryExpression newQueryStatement()
newQueryStatement
in interface Queryable
public QueryExpression newQueryStatement(java.lang.Class candidate_class)
newQueryStatement
in interface Queryable
candidate_class
- the candidate class
Queryable.newQueryStatement()
public Query.ResultObjectFactory newResultObjectFactory(QueryExpression stmt, boolean ignoreCache, java.lang.Class resultClass, boolean useFetchPlan)
newResultObjectFactory
in interface Queryable
stmt
- The QueryStatementignoreCache
- Whether to ignore the cacheresultClass
- Whether to create objects of a particular classuseFetchPlan
- whether to use the fetch plan to retrieve fields in the same query
public java.lang.Object clone()
Mutable second-class Objects are required to provide a public clone method in order to allow for copying PersistenceCapable objects. In contrast to Object.clone(), this method must not throw a CloneNotSupportedException.
clone
in interface SCO
public boolean contains(java.lang.Object element)
contains
in interface java.util.List
element
- The element
public boolean empty()
public boolean equals(java.lang.Object o)
equals
in interface java.util.List
o
- The object to compare against.
public java.lang.Object get(int index)
get
in interface java.util.List
index
- The item to retrieve
public int indexOf(java.lang.Object element)
indexOf
in interface java.util.List
element
- The element.
public boolean isEmpty()
isEmpty
in interface Queryable
public java.util.Iterator iterator()
iterator
in interface java.util.List
public java.util.ListIterator listIterator()
listIterator
in interface java.util.List
public java.util.ListIterator listIterator(int index)
listIterator
in interface java.util.List
index
- The start point
public int lastIndexOf(java.lang.Object element)
lastIndexOf
in interface java.util.List
element
- The element
public java.lang.Object peek()
public int size()
size
in interface java.util.List
public java.util.List subList(int from, int to)
subList
in interface java.util.List
from
- Start index (inclusive)to
- End index (exclusive)
public java.lang.Object[] toArray()
toArray
in interface java.util.List
public java.lang.Object[] toArray(java.lang.Object[] a)
toArray
in interface java.util.List
a
- The runtime types of the array being defined by this param
public void add(int index, java.lang.Object element)
add
in interface java.util.List
index
- The positionelement
- The new elementpublic boolean add(java.lang.Object element)
add
in interface java.util.List
element
- The new element
public void addElement(java.lang.Object element)
element
- The new elementpublic boolean addAll(java.util.Collection elements)
addAll
in interface java.util.List
elements
- The collection
public boolean addAll(int index, java.util.Collection elements)
addAll
in interface java.util.List
index
- Position to insert the collection.elements
- The collection
public void clear()
clear
in interface java.util.List
public java.lang.Object pop()
public java.lang.Object push(java.lang.Object element)
element
- The element to push onto the stack.
public boolean remove(java.lang.Object element)
remove
in interface java.util.List
element
- The element
public boolean removeAll(java.util.Collection elements)
removeAll
in interface java.util.List
elements
- The Collection
public boolean removeElement(java.lang.Object element)
element
- The element
public java.lang.Object remove(int index)
remove
in interface java.util.List
index
- The element position.
public void removeElementAt(int index)
index
- The element position.public void removeAllElements()
public boolean retainAll(java.util.Collection c)
retainAll
in interface java.util.List
c
- The collection to retain
public java.lang.Object set(int index, java.lang.Object element, boolean allowDependentField)
set
in interface SCOList
index
- The positionelement
- The new elementallowDependentField
- Whether to allow dependent-field deletes
public java.lang.Object set(int index, java.lang.Object element)
set
in interface java.util.List
index
- The positionelement
- The new element
public void setElementAt(java.lang.Object element, int index)
element
- The new elementindex
- The positionprotected java.lang.Object writeReplace() throws java.io.ObjectStreamException
java.io.ObjectStreamException
protected void loadFromStore()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |