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

public abstract Class EnhancedClassDataBase

extends Object
implements EnhancedClassData
Class Inheritance
All Implemented Interfaces
org.glassfish.pfl.tf.spi.EnhancedClassData
Known Direct Subclasses
org.glassfish.pfl.tf.spi.EnhancedClassDataReflectiveImpl, org.glassfish.pfl.tf.spi.EnhancedClassDataASMImpl
Imports
java.util.ArrayList, .HashMap, .HashSet, .List, .Map, .Set

Author
ken

Field Summary

Modifier and TypeField and Description
protected final Set<String>
protected final Set<String>
protected final Map<String, String>
protected String
protected final Set<String>
protected final List<String>
protected final List<String>
protected final List<String>
protected final Map<String, String>
protected final List<String>
protected final List<TimingPointType>
protected final Set<String>
protected Util

Constructor Summary

AccessConstructor and Description
protected
EnhancedClassDataBase(Util util, Set<String> annotationNames)

Method Summary

Modifier and TypeMethod and Description
public EnhancedClassData.MethodType
classifyMethod(String fullMethodDescriptor)

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.classifyMethod.

Classify the method.

public Map<String, String>
getAnnotationToHolderName()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getAnnotationToHolderName.

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

public String
getClassName()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getClassName.

Return the internal name of the class.

public List<String>

Returns:

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

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getDescriptions.

List of descriptions of monitored methods and info methods.

public String
getHolderName(String fullMethodDescriptor)

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getHolderName.

Name of the holder fields corresponding to a particular method.

public int
getMethodIndex(String methodName)

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodIndex.

Index of method name in the list of method names.

public List<String>
getMethodMMAnnotationName()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodMMAnnotationName.

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

public List<String>
getMethodNames()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodNames.

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

public List<String>
getTimingPointNames()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.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
()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getTimingPointTypes.

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

public boolean
isTracedClass()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.isTracedClass.

Returns true iff this class is monitored.

public void
updateInfoDesc()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.updateInfoDesc.

Enhance all of the descriptors for infoMethods.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

annoNamesForClassback to summary
protected final Set<String> annoNamesForClass
annotationNamesback to summary
protected final Set<String> annotationNames
annoToHolderNameback to summary
protected final Map<String, String> annoToHolderName
classNameback to summary
protected String className
infoMethodDescsback to summary
protected final Set<String> infoMethodDescs
methodAnnoListback to summary
protected final List<String> methodAnnoList
methodDescriptionsback to summary
protected final List<String> methodDescriptions
methodNamesback to summary
protected final List<String> methodNames
methodToAnnoback to summary
protected final Map<String, String> methodToAnno
methodTPNamesback to summary
protected final List<String> methodTPNames
methodTPTsback to summary
protected final List<TimingPointType> methodTPTs
mmMethodDescsback to summary
protected final Set<String> mmMethodDescs
utilback to summary
protected Util util

Constructor Detail

EnhancedClassDataBaseback to summary
protected EnhancedClassDataBase(Util util, Set<String> annotationNames)

Method Detail

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

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.classifyMethod.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.classifyMethod.

Classify the method.

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

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getAnnotationToHolderName.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.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.

getClassNameback to summary
public String getClassName()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getClassName.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.getClassName.

Return the internal name of the class.

getDescriptionsback to summary
public List<String> getDescriptions()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.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)

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getHolderName.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.getHolderName.

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.

getMethodIndexback to summary
public int getMethodIndex(String methodName)

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodIndex.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodIndex.

Index of method name in the list of method names.

getMethodMMAnnotationNameback to summary
public List<String> getMethodMMAnnotationName()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodMMAnnotationName.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.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.
getMethodNamesback to summary
public List<String> getMethodNames()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodNames.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.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.

getTimingPointNamesback to summary
public List<String> getTimingPointNames()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.getTimingPointNames.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.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.

getTimingPointTypesback to summary
public List<TimingPointType> getTimingPointTypes()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.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()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.isTracedClass.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.isTracedClass.

Returns true iff this class is monitored.

updateInfoDescback to summary
public void updateInfoDesc()

Implements org.glassfish.pfl.tf.spi.EnhancedClassData.updateInfoDesc.

Doc from org.glassfish.pfl.tf.spi.EnhancedClassData.updateInfoDesc.

Enhance all of the descriptors for infoMethods.