org.jboss.byteman.agent
Class Location.InvokeLocation

java.lang.Object
  extended by org.jboss.byteman.agent.Location
      extended by org.jboss.byteman.agent.Location.InvokeLocation
Enclosing class:
Location

private static class Location.InvokeLocation
extends Location

location identifying a method invocation trigger point


Field Summary
private  int count
          count identifying which invocation should be taken as the trigger point.
private  java.lang.String methodName
          the name of the method being invoked at the point where the trigger point should be inserted
private  java.lang.String signature
          the method signature in externalised form
private  java.lang.String typeName
          the name of the type to which the method belongs or null if any type will do
private  boolean whenComplete
          flag which is false if the trigger should be inserted before the method invocation is performed and true if it should be inserted after
 
Fields inherited from class org.jboss.byteman.agent.Location
ACCESS_READ, ACCESS_WRITE
 
Constructor Summary
private Location.InvokeLocation(java.lang.String typeName, java.lang.String methodName, java.lang.String signature, int count, boolean whenComplete)
          construct a location identifying a method invocation trigger point
 
Method Summary
protected static Location create(java.lang.String parameters, boolean whenComplete)
          create a location identifying a method entry trigger point
 LocationType getLocationType()
          identify the type of this location
 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
 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
 java.lang.String toString()
           
 
Methods inherited from class org.jboss.byteman.agent.Location
create
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

methodName

private java.lang.String methodName
the name of the method being invoked at the point where the trigger point should be inserted


typeName

private java.lang.String typeName
the name of the type to which the method belongs or null if any type will do


signature

private java.lang.String signature
the method signature in externalised form


count

private int count
count identifying which invocation should be taken as the trigger point. if not specified as a parameter this defaults to the first invocation.


whenComplete

private boolean whenComplete
flag which is false if the trigger should be inserted before the method invocation is performed and true if it should be inserted after

Constructor Detail

Location.InvokeLocation

private Location.InvokeLocation(java.lang.String typeName,
                                java.lang.String methodName,
                                java.lang.String signature,
                                int count,
                                boolean whenComplete)
construct a location identifying a method invocation trigger point

Parameters:
typeName - the name of the class owning the method
methodName - the name of the method being called
signature - the method signature in externalised form
count - count identifying which invocation should be taken as the trigger point
whenComplete - false if the trigger should be inserted before the method invocation is performed and true if it should be inserted after
Method Detail

create

protected static Location create(java.lang.String parameters,
                                 boolean whenComplete)
create a location identifying a method entry trigger point

Parameters:
parameters - the text of the parameters appended to the location specifier
whenComplete - false if the trigger should be inserted before the access is performed and true if ti shoudl be inserted after
Returns:
a method entry location or null if the parameters is not a blank String

getRuleCheckAdapter

public 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

Specified by:
getRuleCheckAdapter in class Location
Returns:
the required adapter

getRuleAdapter

public 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

Specified by:
getRuleAdapter in class Location
Returns:
the required adapter

getLocationType

public LocationType getLocationType()
Description copied from class: Location
identify the type of this location

Specified by:
getLocationType in class Location
Returns:
the type of this location

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object