Class AlphaNode

    • Constructor Detail

      • AlphaNode

        public AlphaNode​(int nodeid,
                         IConstraintEvaluator[] evaluators)
        Create a new node.
        Parameters:
        evaluators - The evaluators.
    • Method Detail

      • 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.
      • propagateAdditionToObjectConsumers

        protected void propagateAdditionToObjectConsumers​(java.lang.Object object,
                                                          IOAVState state,
                                                          ReteMemory mem,
                                                          AbstractAgenda agenda)
        Propagate a new object to all object consumers.
        Parameters:
        object - The new object.
      • propagateRemovalToObjectConsumers

        protected void propagateRemovalToObjectConsumers​(java.lang.Object object,
                                                         IOAVState state,
                                                         ReteMemory mem,
                                                         AbstractAgenda agenda)
        Propagate a removed object to all object consumers.
        Parameters:
        object - The new object.
      • propagateModificationToObjectConsumers

        protected void propagateModificationToObjectConsumers​(java.lang.Object object,
                                                              OAVAttributeType type,
                                                              java.lang.Object oldvalue,
                                                              java.lang.Object newvalue,
                                                              IOAVState state,
                                                              ReteMemory mem,
                                                              AbstractAgenda agenda)
        Propagate a modified object to all object consumers.
        Parameters:
        object - The new object.
      • checkConstraints

        protected boolean checkConstraints​(java.lang.Object right,
                                           IOAVState state)
        Check the constraints with respect to the object.
        Returns:
        True, if object fits constraints.
      • isAffected

        public boolean isAffected​(OAVAttributeType attr)
        Test if the node is affected from a modification.
        Parameters:
        type - The attribute type.
        Returns:
        True, if possibly affected.
      • 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.
      • toString

        public java.lang.String toString()
        Get the string representation.
        Overrides:
        toString in class AbstractNode
        Returns:
        The string representation.
      • getConstraintEvaluators

        public IConstraintEvaluator[] getConstraintEvaluators()
        Get the constraint evaluators.
      • 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.