Class ReuseTree<S,​I,​O>

    • Method Detail

      • getOutput

        public @Nullable Word<O> getOutput​(Word<I> query)
        Returns the known output for the given query or null if not known.
        Parameters:
        query - Not allowed to be null.
        Returns:
        The output for query if already known from the ReuseTree or null if unknown.
      • getPartialOutput

        public Word<O> getPartialOutput​(Word<I> query)
        Returns the known output for "reflexive" edges in the tree for the given query. All other symbols are set to null.
        Parameters:
        query - Not allowed to be null.
        Returns:
        The partial output for query from the ReuseTree with outputs for "reflexive" edges filled with null for "non-reflexive" and not-known parts of the input word.
      • disposeSystemStates

        public void disposeSystemStates()
        This method removes all system states from the tree. The tree structure remains, but there will be nothing for reuse.

        The SystemStateHandler will be informed about all disposals.

      • clearTree

        public void clearTree()
        Clears the whole tree which means the root will be reinitialized by a new ReuseNode and all existing system states will be disposed. All invariant input symbols as well as all failure output symbols will remain.

        The SystemStateHandler will not be informed about any disposings.

      • fetchSystemState

        public @Nullable ReuseNode.NodeResult<S,​I,​O> fetchSystemState​(Word<I> query)
        Returns a reuseable ReuseNode.NodeResult with system state or null if none such exists. If ''oldInvalidated'' was set to true (in the ReuseOracle) the system state is already removed from the tree whenever one was available.
        Parameters:
        query - Not allowed to be null.