Interface Stack<T>

 Type Parameters:
T
 The type of things stored in the stack
 All Known Implementing Classes:
StandardStack
public interface Stack<T>
Stack implementation exposing useful methods for Hibernate needs.


Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
clear()
Remove all elements from the stackint
depth()
How many elements are currently on the stack?<X> X
findCurrentFirst(Function<T,X> action)
Find an element on the stack and return a value.<X,Y>
XfindCurrentFirstWithParameter(Y parameter, BiFunction<T,Y,X> biFunction)
Runs a function on each couple defined as {Y,T} in which Y is fixed, and T is each instance of this stack.T
getCurrent()
The element currently at the top of the stackT
getRoot()
The element currently at the bottom of the stackboolean
isEmpty()
Are there no elements currently in the stack?T
peek(int offsetFromTop)
The element at the given offset, relative to the top of the stackT
pop()
Pop (remove and return) the current element off the stackvoid
push(T newCurrent)
Push the new element on the top of the stackvoid
visitRootFirst(Consumer<T> action)
Visit all elements in the stack, starting with the root and working "forward"



Method Detail

push
void push(T newCurrent)
Push the new element on the top of the stack

pop
T pop()
Pop (remove and return) the current element off the stack

getCurrent
T getCurrent()
The element currently at the top of the stack

peek
T peek(int offsetFromTop)
The element at the given offset, relative to the top of the stack

getRoot
T getRoot()
The element currently at the bottom of the stack

depth
int depth()
How many elements are currently on the stack?

isEmpty
boolean isEmpty()
Are there no elements currently in the stack?

clear
void clear()
Remove all elements from the stack

visitRootFirst
void visitRootFirst(Consumer<T> action)
Visit all elements in the stack, starting with the root and working "forward"

findCurrentFirst
<X> X findCurrentFirst(Function<T,X> action)
Find an element on the stack and return a value. The first nonnull element returned from `action` stops the iteration and is returned from here

findCurrentFirstWithParameter
@Incubating <X,Y> X findCurrentFirstWithParameter(Y parameter, BiFunction<T,Y,X> biFunction)
Runs a function on each couple defined as {Y,T} in which Y is fixed, and T is each instance of this stack. Not all Ts might be presented as the iteration is interrupted as soon as the first nonnull value is returned by the (bi)function, which is then returned from this function. Type Parameters:
X
 the return type of the functionY
 the type of the fixed parameter Parameters:
parameter
 a parameter to be passed to the (bi)funtionbiFunction
 a (bi)function taking as input parameter Y and each of the T from the current stack, and return type of X. Returns:
 the first nonnull result by the function, or null if no matches.

