Data probe objects contain the names and types of data items that are referenced by the source code in a fragment’s Code object.
The Data object is optional. A probe fragment can contain more than one Data object, but no two Data objects in a fragment can have the same type or name.
The Data object includes the following properties:
| name | Required. Must specify a valid Java variable name. |
| type | Required. The available types are listed in the following table. |
| className | String | The class name of the probed method, including the package name, in internal format. Example: org/eclipse/hyades/SomeClass |
| methodName | String | The method name of the probed method, in internal format. Constructors have the method name <init>, static class initializers have <clinit> as the method name. |
| signature | String | The method argument and return type signature, in internal format. Example: (Ljava/lang/String;)I |
| thisObject | Object | The this object (for instance methods) that was passed to the probed method. thisObject will be null for static methods, for entry fragments that are applied to constructors, and for exit fragments applied to constructors when the constructor throws an exception. |
| args | Object[] | An array of Object references representing the arguments to the probed method. There is one element in this array for each argument to the method (not counting the this argument). Arguments which are primitive types are bound into temporary objects of the appropriate reference type, for example: Integer for int. If the method takes no arguments, this will be an Object[] array of size zero. Note that constructors for non-static inner classes have one hidden argument per "inner" level, so the argument array will contain more elements than appear in the source code. |
| returnObject | Object | A reference to the object being returned. This type is available only to exit fragments. If the return type of the probed method is a primitive type, the returned value is bound into a temporary object of the appropriate reference type. If the method is void (does not return a value) or it is exiting by exception, returnObject will be null. |
| exceptionObject | Throwable | A reference to the exception object being thrown. This type is available only to catch and exit fragments. If the method is exiting normally, exceptionObject will be null. |
| isFinally | boolean | A flag indicating whether the fragment was called from a finally clause (true), or from a catch clause (false). |
<data type="className" name="__class" />
Contained by
The Fragment probe object
Related information
A basic sample probe