org.jboss.byteman.rule.helper
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 |
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)
|
execute
void execute(java.lang.Object recipient,
java.lang.Object[] args)
throws ExecuteException
- Throws:
ExecuteException
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)