org.jboss.byteman.agent
Class Location

java.lang.Object
  extended by org.jboss.byteman.agent.Location
Direct Known Subclasses:
Location.AccessLocation, Location.EntryLocation, Location.ExitLocation, Location.InvokeLocation, Location.LineLocation, Location.SynchronizeLocation, Location.ThrowLocation

public abstract class Location
extends java.lang.Object

Specifies a location in a method at which a rule trigger should be inserted


Nested Class Summary
private static class Location.AccessLocation
          location identifying a generic access trigger point
private static class Location.EntryLocation
          location identifying a method entry trigger point
private static class Location.ExitLocation
          location identifying a method exit trigger point
private static class Location.FieldAccessLocation
          location identifying a field access trigger point
private static class Location.InvokeLocation
          location identifying a method invocation trigger point
private static class Location.LineLocation
          location identifying a method line trigger point
private static class Location.SynchronizeLocation
          location identifying a synchronization trigger point
private static class Location.ThrowLocation
          location identifying a throw trigger point
private static class Location.VariableAccessLocation
          location identifying a variable access trigger point
 
Field Summary
static int ACCESS_READ
          flag indicating that a field access location refers to field READ operations
static int ACCESS_WRITE
          flag indicating that a field access location refers to field WRITE operations
 
Constructor Summary
Location()
           
 
Method Summary
static Location create(LocationType type, java.lang.String parameters)
          create a location object of a given type
abstract  LocationType getLocationType()
          identify the type of this location
abstract  RuleTriggerAdapter getRuleAdapter(ClassVisitor cv, TransformContext transformContext)
          return an adapter which can be used to insert a trigger call in a method containing a trigger point whose position matches this location
abstract  RuleCheckAdapter getRuleCheckAdapter(ClassVisitor cv, TransformContext transformContext)
          return an adapter which can be used to check whether a method contains a trigger point whose position matches this location
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACCESS_READ

public static final int ACCESS_READ
flag indicating that a field access location refers to field READ operations

See Also:
Constant Field Values

ACCESS_WRITE

public static final int ACCESS_WRITE
flag indicating that a field access location refers to field WRITE operations

See Also:
Constant Field Values
Constructor Detail

Location

public Location()
Method Detail

create

public static Location create(LocationType type,
                              java.lang.String parameters)
create a location object of a given type

Parameters:
type - the type of location being specified
parameters - the text of the parameters appended to the location specifier
Returns:
a location of the appropriate type or null if the parameters are incorrectly specified

getRuleCheckAdapter

public abstract RuleCheckAdapter getRuleCheckAdapter(ClassVisitor cv,
                                                     TransformContext transformContext)
return an adapter which can be used to check whether a method contains a trigger point whose position matches this location

Returns:
the required adapter

getRuleAdapter

public abstract RuleTriggerAdapter getRuleAdapter(ClassVisitor cv,
                                                  TransformContext transformContext)
return an adapter which can be used to insert a trigger call in a method containing a trigger point whose position matches this location

Returns:
the required adapter

getLocationType

public abstract LocationType getLocationType()
identify the type of this location

Returns:
the type of this location