Class TerminalNode

    • Field Detail

      • extractors

        protected java.util.Map extractors
        A mapping for fetching variable values (variable -> extractor).
      • rule

        protected IRule rule
        The rule of the terminal node.
      • relevants

        protected volatile AttributeSet relevants
        The set of relevant attributes.
      • indirects

        protected volatile AttributeSet indirects
        The set of indirect attributes.
    • Constructor Detail

      • TerminalNode

        public TerminalNode​(int nodeid,
                            IRule rule,
                            java.util.Map extractors)
        Create a new node.
    • Method Detail

      • modifyIndirectObject

        public void modifyIndirectObject​(java.lang.Object object,
                                         OAVAttributeType type,
                                         java.lang.Object oldvalue,
                                         java.lang.Object newvalue,
                                         IOAVState state,
                                         ReteMemory mem,
                                         AbstractAgenda agenda)
        Propagate an indirect object change to this node.
        Specified by:
        modifyIndirectObject in interface INode
        Parameters:
        object - The changed object.
      • createNodeMemory

        public java.lang.Object createNodeMemory​(IOAVState state)
        Create the node memory.
        Specified by:
        createNodeMemory in interface INode
        Parameters:
        state - The state.
        Returns:
        The node memory.
      • getNodeMemory

        public java.util.Collection getNodeMemory​(ReteMemory mem)
        Get the memory for this node.
        Specified by:
        getNodeMemory in interface INode
        Returns:
        The memory.
      • getIndirectAttributes

        public AttributeSet getIndirectAttributes()
        Get the set of indirect attribute types. I.e. attributes of objects, which are not part of an object conditions (e.g. for chained extractors)
        Specified by:
        getIndirectAttributes in interface INode
        Returns:
        The relevant attribute types.
      • getRule

        public IRule getRule()
        Get the rule.
        Returns:
        The rule.
      • doClone

        protected void doClone​(java.lang.Object theclone)
        Do clone makes a deep clone without regarding cycles. Method is overridden by subclasses to actually incorporate their attributes.
        Specified by:
        doClone in class AbstractNode
        Parameters:
        theclone - The clone.