Class StateNode<T>

java.lang.Object
com.ticxo.modelengine.api.utils.state.StateNode<T>

public class StateNode<T> extends Object
  • Constructor Details

  • Method Details

    • addForceConnectedNode

      public void addForceConnectedNode(Predicate<T> condition, StateNode<T> node)
    • addForceConnectedNode

      public void addForceConnectedNode(Predicate<T> condition, Function<T,StateNode<T>> node)
    • clearForceConnectedNodes

      public void clearForceConnectedNodes()
    • addConnectedNode

      public void addConnectedNode(Predicate<T> condition, StateNode<T> node)
    • addConnectedNode

      public void addConnectedNode(Predicate<T> condition, Function<T,StateNode<T>> node)
    • clearConnectedNodes

      public void clearConnectedNodes()
    • acceptAction

      public void acceptAction(T target)
    • acceptEntry

      public void acceptEntry(T target)
    • acceptExit

      public void acceptExit(T target)
    • testCommonPredicate

      public boolean testCommonPredicate(T target)
    • getMachine

      public StateMachine<T> getMachine()
    • getForceConnected

      public Map<Predicate<T>,Function<T,StateNode<T>>> getForceConnected()
      All forced connected nodes with order preserved, which ignores common predicate.
    • getConnected

      public Map<Predicate<T>,Function<T,StateNode<T>>> getConnected()
      All connected nodes with order preserved.
    • getEntryAction

      public Consumer<T> getEntryAction()
      Action ran when entering a node.
    • getAction

      public Consumer<T> getAction()
      Action ran every tick. Also runs on entry.
    • getExitAction

      public Consumer<T> getExitAction()
      Action ran when exiting a node. Runs before entry action of the next node.
    • getCommonPredicate

      public Predicate<T> getCommonPredicate()
      Common predicate that runs when checking all connected nodes
    • setEntryAction

      public void setEntryAction(Consumer<T> entryAction)
      Action ran when entering a node.
    • setAction

      public void setAction(Consumer<T> action)
      Action ran every tick. Also runs on entry.
    • setExitAction

      public void setExitAction(Consumer<T> exitAction)
      Action ran when exiting a node. Runs before entry action of the next node.
    • setCommonPredicate

      public void setCommonPredicate(Predicate<T> commonPredicate)
      Common predicate that runs when checking all connected nodes