public final class GenericNestedStructureHouseKeeper extends AbstractNestedStructureHouseKeeper
AbstractNestedStructureHouseKeeper.Structure
Constructor and Description |
---|
GenericNestedStructureHouseKeeper() |
Modifier and Type | Method and Description |
---|---|
<T extends NestedStructure> |
pop(Class<T> expectedClass)
Pops one element from the stack.
|
getFactory, isStackIsHealthy, push, push, setFactory
public <T extends NestedStructure> T pop(Class<T> expectedClass) throws AnalysisException
NestedStructureHouseKeeper
Note that nested element have to be pushed on the stack nested. If we get an element off the stack that was not expected it means syntax error and therefore in this case exception is thrown.
When exception was thrown the functioning of the object is not defined by this interface. Some implementation may seek the appropriate element in the stack and throw off all top element until a proper type of element is found assuming that the user forgot to close some internal programming structured in the scripted language. Other implementations may follow more complex strategy to recover from such an error. In either case the sole reason of further syntax analysis is to discover as many syntax error as possible following the first one.
pop
in interface NestedStructureHouseKeeper
pop
in class AbstractNestedStructureHouseKeeper
T
- expected type of the elementAnalysisException
- when the top element of the stack is not the type that we
expectCopyright © 2013 Verhas and Verhas Software Craftsmen. All Rights Reserved.