Interface HelperAdapter

  • All Known Implementing Classes:
    InterpretedHelper

    public interface HelperAdapter
    This interface defines the methods which need to be added to a helper class in order for it to plug in to the rule system. In the case of the default helper class, Helper, this interface is implemented by a pre-defined subclass, InterpretedHelper which interprets the rule parse tree. Given any user-supplied helper class the rule compiler can generate a HelperAdapter class which interprets the rule tree and invokes builtin methods using reflection. The compiler can also generate a HelperAdapter whose bind(), test() and fire() methods are compiled from bytecode derived from the parse trees of, respectively, the rule's event, condition and action. Bytecode compilation is applicable to rules which employ the default helper as well as rules which employ user-defined helpers.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void execute​(java.lang.Object recipient, java.lang.Object[] args)  
      java.lang.Object getAccessibleField​(java.lang.Object owner, int fieldIndex)  
      java.lang.Object getBinding​(java.lang.String name)  
      java.lang.String getName()  
      java.lang.Object invokeAccessibleMethod​(java.lang.Object target, java.lang.Object[] args, int fieldIndex)  
      void setAccessibleField​(java.lang.Object owner, java.lang.Object value, int fieldIndex)  
      void setBinding​(java.lang.String name, java.lang.Object value)  
    • Method Detail

      • setBinding

        void setBinding​(java.lang.String name,
                        java.lang.Object value)
      • getBinding

        java.lang.Object getBinding​(java.lang.String name)
      • getName

        java.lang.String getName()
      • getAccessibleField

        java.lang.Object getAccessibleField​(java.lang.Object owner,
                                            int fieldIndex)
      • setAccessibleField

        void setAccessibleField​(java.lang.Object owner,
                                java.lang.Object value,
                                int fieldIndex)
      • invokeAccessibleMethod

        java.lang.Object invokeAccessibleMethod​(java.lang.Object target,
                                                java.lang.Object[] args,
                                                int fieldIndex)