Class AbstractDTNode<DSCR,​O,​D,​N extends AbstractDTNode<DSCR,​O,​D,​N>>

  • Type Parameters:
    DSCR - discriminator type
    O - output symbol type
    D - data type
    N - (recursive) node type
    Direct Known Subclasses:
    AbstractTemporaryIntrusiveDTNode, AbstractWordBasedDTNode

    public abstract class AbstractDTNode<DSCR,​O,​D,​N extends AbstractDTNode<DSCR,​O,​D,​N>>
    extends Object
    An abstract super class (DAO) for aggregating some information stored in a node of a discrimination tree.
    • Field Detail

      • parentOutcome

        protected final O parentOutcome
      • depth

        protected final int depth
      • discriminator

        protected DSCR discriminator
      • data

        protected D data
    • Constructor Detail

      • AbstractDTNode

        public AbstractDTNode​(D data)
      • AbstractDTNode

        protected AbstractDTNode​(N parent,
                                 O parentOutcome,
                                 D data)
    • Method Detail

      • isRoot

        public boolean isRoot()
      • getParent

        public N getParent()
      • getDiscriminator

        public DSCR getDiscriminator()
      • setDiscriminator

        public void setDiscriminator​(DSCR discriminator)
      • split

        public N split​(DSCR discriminator,
                       O out)
      • isLeaf

        public boolean isLeaf()
      • createChildMap

        protected abstract Map<O,​N> createChildMap()
      • addChild

        protected N addChild​(O outcome,
                             D data)
      • createChild

        protected abstract N createChild​(O outcome,
                                         D data)
      • child

        public N child​(O out)
      • child

        public N child​(O out,
                       D defaultData)
      • getChild

        public N getChild​(O out)
      • replaceChildren

        public void replaceChildren​(Map<O,​N> repChildren)
      • getDepth

        public int getDepth()
      • getData

        public D getData()
      • setData

        public void setData​(D data)
      • subtreeLabel

        public @Nullable O subtreeLabel​(N descendant)
      • getParentOutcome

        public O getParentOutcome()