Top Inners Fields Methods
org.glassfish.pfl.tf.spi

public Interface EnhancedClassData

Known Direct Implementers
org.glassfish.pfl.tf.spi.EnhancedClassDataBase
Imports
java.util.List, .Map, org.glassfish.pfl.basic.contain.SynchronizedHolder, org.glassfish.pfl.tf.spi.annotation.Description, .InfoMethod, org.objectweb.asm.Type

Author
ken

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
public static final String
public static final String
public static final String
public static final Type
public static final String
public static final Type
public static final String
public static final Type

Method Summary

Modifier and TypeMethod and Description
public EnhancedClassData.MethodType

Returns:

The kind of the corresponding method.
classifyMethod
(String
The full method descriptor of the method.
fullMethodDescriptor
)

Classify the method.

public Map<String, String>

Returns:

Map from MM annotations defined on this class to the names of the holder fields.
getAnnotationToHolderName
()

Map from MM annotation name to the name of the holder field that contains the SynchronizedHolder for the corresponding MethodMonitor.

public String

Returns:

The class name.
getClassName
()

Return the internal name of the class.

public List<String>

Returns:

List of descriptions in the same order as in getMethodTracingNames.
getDescriptions
()

List of descriptions of monitored methods and info methods.

public String

Returns:

The name of the holder field used for this method.
getHolderName
(String
The full method descriptor of the method.
fullMethodDescriptor
)

Name of the holder fields corresponding to a particular method.

public int

Returns:

the method index
getMethodIndex
(String
The method name as defined for tracing.
methodName
)

Index of method name in the list of method names.

public List<String>

Returns:

List of annotation names for methods.
getMethodMMAnnotationName
()

List of annotation names for each info method and monitored method.

public List<String>

Returns:

List of all method tracing names in sorted order.
getMethodNames
()

List of method names for all MM methods and info methods in the class.

public List<String>

Returns:

List of timing point names, in the same order as in getMethodTracingNames.
getTimingPointNames
()

List of timing point names corresponding to method names.

public List<TimingPointType>

Returns:

List of TimingPointTypes in the same order as in getMethodTracingNames.
getTimingPointTypes
()

List of timing point types of monitored methods and info methods.

public boolean

Returns:

true iff this class has one or more MM annotations.
isTracedClass
()

Returns true iff this class is monitored.

public void
updateInfoDesc()

Enhance all of the descriptors for infoMethods.

Field Detail

DESCRIPTION_NAMEback to summary
public static final String DESCRIPTION_NAME
INFO_METHOD_NAMEback to summary
public static final String INFO_METHOD_NAME
MM_NAMEback to summary
public static final String MM_NAME
MM_TYPEback to summary
public static final Type MM_TYPE
OBJECT_NAMEback to summary
public static final String OBJECT_NAME
OBJECT_TYPEback to summary
public static final Type OBJECT_TYPE
SH_NAMEback to summary
public static final String SH_NAME
SH_TYPEback to summary
public static final Type SH_TYPE

Method Detail

classifyMethodback to summary
public EnhancedClassData.MethodType classifyMethod(String fullMethodDescriptor)

Classify the method.

Parameters
fullMethodDescriptor:String

The full method descriptor of the method.

Returns:EnhancedClassData.MethodType

The kind of the corresponding method.

getAnnotationToHolderNameback to summary
public Map<String, String> getAnnotationToHolderName()

Map from MM annotation name to the name of the holder field that contains the SynchronizedHolder for the corresponding MethodMonitor. The domain of this map is the set of MM annotations on this class.

Returns:Map<String, String>

Map from MM annotations defined on this class to the names of the holder fields.

getClassNameback to summary
public String getClassName()

Return the internal name of the class.

Returns:String

The class name.

getDescriptionsback to summary
public List<String> getDescriptions()

List of descriptions of monitored methods and info methods. If no description was given in the annotations, the value is "".

Returns:List<String>

List of descriptions in the same order as in getMethodTracingNames.

getHolderNameback to summary
public String getHolderName(String fullMethodDescriptor)

Name of the holder fields corresponding to a particular method. Note that the full descriptor (name + arg/return descriptor) is used to unambiguously identify the method in the class.

Parameters
fullMethodDescriptor:String

The full method descriptor of the method.

Returns:String

The name of the holder field used for this method.

getMethodIndexback to summary
public int getMethodIndex(String methodName)

Index of method name in the list of method names.

Parameters
methodName:String

The method name as defined for tracing.

Returns:int

the method index

getMethodMMAnnotationNameback to summary
public List<String> getMethodMMAnnotationName()

List of annotation names for each info method and monitored method. It is interpreted as follows:

  • If the entry in the list is not null, it is the only annotation applicable to this method. This is the case for monitored methods.
  • If the entry in the list is null, all annotations on the enclosing class apply to this method. This is the case for an InfoMethod, which can be called from any monitored method regardless of the annotation on the monitored method.
Returns:List<String>

List of annotation names for methods.

getMethodNamesback to summary
public List<String> getMethodNames()

List of method names for all MM methods and info methods in the class. Order is significant, as the index of the method in the list is the ordinal used to represent it. This list is in sorted order.

Returns:List<String>

List of all method tracing names in sorted order.

getTimingPointNamesback to summary
public List<String> getTimingPointNames()

List of timing point names corresponding to method names. For monitored methods, this is just the method name. For info methods whose tpType is not NONE, this is specified in tpName.

Returns:List<String>

List of timing point names, in the same order as in getMethodTracingNames.

getTimingPointTypesback to summary
public List<TimingPointType> getTimingPointTypes()

List of timing point types of monitored methods and info methods. The list contains BOTH for a monitored method. An info method that does not represent a timing point is represented by NONE.

Returns:List<TimingPointType>

List of TimingPointTypes in the same order as in getMethodTracingNames.

isTracedClassback to summary
public boolean isTracedClass()

Returns true iff this class is monitored.

Returns:boolean

true iff this class has one or more MM annotations.

updateInfoDescback to summary
public void updateInfoDesc()

Enhance all of the descriptors for infoMethods.

org.glassfish.pfl.tf.spi back to summary

public final Enum EnhancedClassData.MethodType

extends Enum<EnhancedClassData.MethodType>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final EnhancedClassData.MethodType
public static final EnhancedClassData.MethodType
public static final EnhancedClassData.MethodType
public static final EnhancedClassData.MethodType

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static EnhancedClassData.MethodType
public static EnhancedClassData.MethodType[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

INFO_METHODback to summary
public static final EnhancedClassData.MethodType INFO_METHOD
MONITORED_METHODback to summary
public static final EnhancedClassData.MethodType MONITORED_METHOD
NORMAL_METHODback to summary
public static final EnhancedClassData.MethodType NORMAL_METHOD
STATIC_INITIALIZERback to summary
public static final EnhancedClassData.MethodType STATIC_INITIALIZER

Constructor Detail

MethodTypeback to summary
private MethodType()

Method Detail

valueOfback to summary
public static EnhancedClassData.MethodType valueOf(String name)
valuesback to summary
public static EnhancedClassData.MethodType[] values()