Class TypedSubtree<T extends Visitable,​SELF extends TypedSubtree<T,​SELF>>

  • Type Parameters:
    T - The children's type
    SELF - The concrete type of the implementing class.
    All Implemented Interfaces:
    Visitable
    Direct Known Subclasses:
    Arguments, MapExpression, Order, Pattern, YieldItems

    public abstract class TypedSubtree<T extends Visitable,​SELF extends TypedSubtree<T,​SELF>>
    extends java.lang.Object
    implements Visitable
    This class helps to group items of the same type on the same level of the tree into a list structure that can be recognized by visitors.
    Since:
    1.0
    Author:
    Michael J. Simons
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<T> children  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected TypedSubtree​(java.util.List<T> children)  
      protected TypedSubtree​(T... children)  
    • Field Detail

      • children

        protected final java.util.List<T extends Visitable> children
    • Constructor Detail

      • TypedSubtree

        protected TypedSubtree​(T... children)
      • TypedSubtree

        protected TypedSubtree​(java.util.List<T> children)
    • Method Detail

      • accept

        public final void accept​(Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor visiting this Visitable and its nested Visitables if applicable.
        Specified by:
        accept in interface Visitable
        Parameters:
        visitor - the visitor to notify, must not be null.
      • prepareVisit

        protected Visitable prepareVisit​(T child)
        A hook for interfere with the visitation of child elements.
        Parameters:
        child - The current child element
        Returns:
        The visitable that has been prepared
      • getSeparator

        public java.lang.String getSeparator()