Package com.sun.xml.bind.v2.util
Class CollisionCheckStack<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- com.sun.xml.bind.v2.util.CollisionCheckStack<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.List<E>
public final class CollisionCheckStack<E> extends java.util.AbstractList<E>
Stack
-like data structure that allows the following efficient operations:- Push/pop operation.
- Duplicate check. When an object that's already in the stack is pushed, this class will tell you so.
Object equality is their identity equality.
This class implements
List
for accessing items in the stack, butList
methods that alter the stack is not supported.- Author:
- Kohsuke Kawaguchi
-
-
Constructor Summary
Constructors Constructor Description CollisionCheckStack()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
findDuplicate(E o)
E
get(int index)
java.lang.String
getCycleString()
String that represents the cycle.boolean
getLatestPushResult()
boolean
getUseIdentity()
E
peek()
Returns the top of the stack.E
pop()
Pops an object from the stackboolean
push(E o)
Pushes a new object to the stack.void
pushNocheck(E o)
Pushes a new object to the stack without making it participate with the collision check.void
reset()
Clears all the contents in the stack.void
setUseIdentity(boolean useIdentity)
Set to false to useObject.equals(Object)
to detect cycles.int
size()
-
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
-
-
-
Method Detail
-
setUseIdentity
public void setUseIdentity(boolean useIdentity)
Set to false to useObject.equals(Object)
to detect cycles. This method can be only used when the stack is empty.
-
getUseIdentity
public boolean getUseIdentity()
-
getLatestPushResult
public boolean getLatestPushResult()
-
push
public boolean push(E o)
Pushes a new object to the stack.- Returns:
- true if this object has already been pushed
-
pushNocheck
public void pushNocheck(E o)
Pushes a new object to the stack without making it participate with the collision check.
-
findDuplicate
public boolean findDuplicate(E o)
-
get
public E get(int index)
-
size
public int size()
-
pop
public E pop()
Pops an object from the stack
-
peek
public E peek()
Returns the top of the stack.
-
reset
public void reset()
Clears all the contents in the stack.
-
getCycleString
public java.lang.String getCycleString()
String that represents the cycle.
-
-