Class Hierarchy
java.lang.Object
io.pebbletemplates.pebble.template.Hierarchy
A data structure that represents the entire inheritance hierarchy of the current template and
tracks which level in the hierarchy we are currently evaluating.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
Index of the template currently being evaluated.private final ArrayList
<PebbleTemplateImpl> A list of all the templates in this hierarchy. -
Constructor Summary
ConstructorsConstructorDescriptionHierarchy
(PebbleTemplateImpl currentTemplate) Constructs an inheritance chain with one known template. -
Method Summary
Modifier and TypeMethodDescriptionvoid
ascend()
Signifies that the parent template in the hierarchy is now being evaluated so it should be considered the "current" template.void
descend()
Signifies that the child template in the hierarchy is now being evaluated so i t should be considered the "current" template.getChild()
Returns the child of the template currently being evaluated or null if there is no child.Returns the parent of the template currently being evaluated or null if there is no parent.void
pushAncestor
(PebbleTemplateImpl ancestor) Adds a known ancestor onto the inheritance chain, does not increment which template is the "current" template being evaluated.
-
Field Details
-
hierarchy
A list of all the templates in this hierarchy. A template at index i is the child to the template at index i+1. -
current
private int currentIndex of the template currently being evaluated.
-
-
Constructor Details
-
Hierarchy
Constructs an inheritance chain with one known template.- Parameters:
currentTemplate
- The current template
-
-
Method Details
-
pushAncestor
Adds a known ancestor onto the inheritance chain, does not increment which template is the "current" template being evaluated.- Parameters:
ancestor
- The ancestor template
-
ascend
public void ascend()Signifies that the parent template in the hierarchy is now being evaluated so it should be considered the "current" template. -
descend
public void descend()Signifies that the child template in the hierarchy is now being evaluated so i t should be considered the "current" template. -
getChild
Returns the child of the template currently being evaluated or null if there is no child.- Returns:
- The child template if exists or null
-
getParent
Returns the parent of the template currently being evaluated or null if there is no parent.- Returns:
- The parent template if exists or null
-