|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
java.util.Stack
org.jpox.sco.Stack
public class 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
clone
in class java.util.Vector
public boolean contains(java.lang.Object element)
contains
in interface java.util.Collection
contains
in interface java.util.List
contains
in class java.util.Vector
element
- The element
public boolean empty()
empty
in class java.util.Stack
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection
equals
in interface java.util.List
equals
in class java.util.Vector
o
- The object to compare against.
public java.lang.Object get(int index)
get
in interface java.util.List
get
in class java.util.Vector
index
- The item to retrieve
public int indexOf(java.lang.Object element)
indexOf
in interface java.util.List
indexOf
in class java.util.Vector
element
- The element.
public boolean isEmpty()
isEmpty
in interface java.util.Collection
isEmpty
in interface java.util.List
isEmpty
in interface Queryable
isEmpty
in class java.util.Vector
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in interface java.util.List
iterator
in class java.util.AbstractList
public java.util.ListIterator listIterator()
listIterator
in interface java.util.List
listIterator
in class java.util.AbstractList
public java.util.ListIterator listIterator(int index)
listIterator
in interface java.util.List
listIterator
in class java.util.AbstractList
index
- The start point
public int lastIndexOf(java.lang.Object element)
lastIndexOf
in interface java.util.List
lastIndexOf
in class java.util.Vector
element
- The element
public java.lang.Object peek()
peek
in class java.util.Stack
public int size()
size
in interface java.util.Collection
size
in interface java.util.List
size
in class java.util.Vector
public java.util.List subList(int from, int to)
subList
in interface java.util.List
subList
in class java.util.Vector
from
- Start index (inclusive)to
- End index (exclusive)
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
toArray
in interface java.util.List
toArray
in class java.util.Vector
public java.lang.Object[] toArray(java.lang.Object[] a)
toArray
in interface java.util.Collection
toArray
in interface java.util.List
toArray
in class java.util.Vector
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
add
in class java.util.Vector
index
- The positionelement
- The new elementpublic boolean add(java.lang.Object element)
add
in interface java.util.Collection
add
in interface java.util.List
add
in class java.util.Vector
element
- The new element
public void addElement(java.lang.Object element)
addElement
in class java.util.Vector
element
- The new elementpublic boolean addAll(java.util.Collection elements)
addAll
in interface java.util.Collection
addAll
in interface java.util.List
addAll
in class java.util.Vector
elements
- The collection
public boolean addAll(int index, java.util.Collection elements)
addAll
in interface java.util.List
addAll
in class java.util.Vector
index
- Position to insert the collection.elements
- The collection
public void clear()
clear
in interface java.util.Collection
clear
in interface java.util.List
clear
in class java.util.Vector
public java.lang.Object pop()
pop
in class java.util.Stack
public java.lang.Object push(java.lang.Object element)
push
in class java.util.Stack
element
- The element to push onto the stack.
public boolean remove(java.lang.Object element)
remove
in interface java.util.Collection
remove
in interface java.util.List
remove
in class java.util.Vector
element
- The element
public boolean removeAll(java.util.Collection elements)
removeAll
in interface java.util.Collection
removeAll
in interface java.util.List
removeAll
in class java.util.Vector
elements
- The Collection
public boolean removeElement(java.lang.Object element)
removeElement
in class java.util.Vector
element
- The element
public java.lang.Object remove(int index)
remove
in interface java.util.List
remove
in class java.util.Vector
index
- The element position.
public void removeElementAt(int index)
removeElementAt
in class java.util.Vector
index
- The element position.public void removeAllElements()
removeAllElements
in class java.util.Vector
public boolean retainAll(java.util.Collection c)
retainAll
in interface java.util.Collection
retainAll
in interface java.util.List
retainAll
in class java.util.Vector
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
set
in class java.util.Vector
index
- The positionelement
- The new element
public void setElementAt(java.lang.Object element, int index)
setElementAt
in class java.util.Vector
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 |