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

java.lang.Object
de.learnlib.datastructure.discriminationtree.model.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 Details

    • parent

      protected final N extends AbstractDTNode<DSCR,O,D,N> parent
    • parentOutcome

      protected final O parentOutcome
    • depth

      protected final int depth
    • children

      protected Map<O,N extends AbstractDTNode<DSCR,O,D,N>> children
    • discriminator

      protected DSCR discriminator
    • data

      protected D data
  • Constructor Details

    • AbstractDTNode

      public AbstractDTNode(D data)
    • AbstractDTNode

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

    • isRoot

      public boolean isRoot()
    • getParent

      public N getParent()
    • getDiscriminator

      public DSCR getDiscriminator()
    • setDiscriminator

      public void setDiscriminator(DSCR discriminator)
    • split

      public AbstractDTNode<DSCR,O,D,N>.SplitResult split(DSCR discriminator, O oldOut, O newOut)
    • split

      public AbstractDTNode<DSCR,O,D,N>.SplitResult split(DSCR discriminator, O oldOut, O newOut, D newData)
    • 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)
    • getChildren

      public Collection<N> getChildren()
    • getChildEntries

      public Collection<Map.Entry<O,N>> getChildEntries()
    • 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()