org.jboss.byteman.rule
Class Event

java.lang.Object
  extended by org.jboss.byteman.rule.RuleElement
      extended by org.jboss.byteman.rule.Event

public class Event
extends RuleElement

class which represents a rule event comprising of a set of abstract bindings of event variables to evaluable expressions.


Field Summary
 
Fields inherited from class org.jboss.byteman.rule.RuleElement
rule
 
Constructor Summary
protected Event(Rule rule)
           
protected Event(Rule rule, ParseNode eventTree)
           
 
Method Summary
private  void addBinding(Bindings bindings, ParseNode bindingTree)
           
 void compile(MethodVisitor mv, CompileContext compileContext)
           
static Event create(Rule rule, ParseNode eventTree)
           
static Event create(Rule rule, java.lang.String text)
           
 Binding createBinding(ParseNode varTree)
           
private  void createBindings(ParseNode eventTree)
           
 Bindings getBindings()
           
private  Type getBindingType(ParseNode typeTree)
          create and return a type for a binding or return null if the type cannot be created
 java.lang.Object interpret(HelperAdapter helper)
           
private  void typeCheck(Binding binding)
           
 Type typeCheck(Type expected)
           
 void writeTo(java.io.StringWriter stringWriter)
           
 
Methods inherited from class org.jboss.byteman.rule.RuleElement
compileBooleanConversion, compileBox, compileNumericConversion, compileObjectConversion, compilePrimitiveConversion, compileStringConversion, compileTypeConversion, compileUnbox, getTypeGroup, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Event

protected Event(Rule rule,
                ParseNode eventTree)
         throws TypeException
Throws:
TypeException

Event

protected Event(Rule rule)
Method Detail

create

public static Event create(Rule rule,
                           ParseNode eventTree)
                    throws TypeException
Throws:
TypeException

create

public static Event create(Rule rule,
                           java.lang.String text)
                    throws ParseException,
                           TypeException
Throws:
ParseException
TypeException

getBindings

public Bindings getBindings()
Overrides:
getBindings in class RuleElement

typeCheck

public Type typeCheck(Type expected)
               throws TypeException
Specified by:
typeCheck in class RuleElement
Throws:
TypeException

typeCheck

private void typeCheck(Binding binding)
                throws TypeException
Throws:
TypeException

createBindings

private void createBindings(ParseNode eventTree)
                     throws TypeException
Throws:
TypeException

addBinding

private void addBinding(Bindings bindings,
                        ParseNode bindingTree)
                 throws TypeException
Throws:
TypeException

createBinding

public Binding createBinding(ParseNode varTree)
                      throws TypeException
Throws:
TypeException

getBindingType

private Type getBindingType(ParseNode typeTree)
create and return a type for a binding or return null if the type cannot be created

Parameters:
typeTree -
Returns:
the binding type or null

interpret

public java.lang.Object interpret(HelperAdapter helper)
                           throws ExecuteException
Specified by:
interpret in class RuleElement
Throws:
ExecuteException

compile

public void compile(MethodVisitor mv,
                    CompileContext compileContext)
             throws CompileException
Specified by:
compile in class RuleElement
Throws:
CompileException

writeTo

public void writeTo(java.io.StringWriter stringWriter)
Specified by:
writeTo in class RuleElement