com.ibm.dtfj.analyzer.ext
Interface IAnalyzerBase
- All Known Implementing Classes:
- AllBytecodeMethods, AllCompiledMethods, AllEnvVars, AllImageThreads, AllJavaClassLoaders, AllJavaHeaps, AllJavaMonitors, AllJavaThreads, AllJVMInitArgs, AllJVMInitArgs, AllJVMInitArgs, AllLibraries, AllMemorySections, AnalyzerBase, ArrayListWrapper, ArrayListWrapper, ArrayWrapper, CharArrayWrapper, ClassFinder, ClassInstanceCounter, CollectionAnalyzerBase, CollectionWrapperBase, DateWrapper, HashMapWrapper, HashMapWrapper, HashSetWrapper, HashSetWrapper, HashtableWrapper, LinkedListWrapper, LinkedListWrapper, ListClassDefinitions, ListObjectInstances, ListObjectInstancesWithSubClasses, LongTimestampWrapper, LookupObjectByAddress, MapEntryWrapperBase, MapWrapperBase, ObjectFinder, ObjectNavigator, ObjectNavigatorCollection, ObjectWrapper, ObjectWrapperCollection, OneContextHeader, OneImage, OneImage, OneImage, OneImageModule, OneImageProcess, OneImageSection, OneImageSection, OneImageStackFrame, OneImageThread, OneJavaClass, OneJavaClassLoader, OneJavaHeap, OneJavaMethod, OneJavaMonitor, OneJavaMonitor, OneJavaMonitor, OneJavaObject, OneJavaObject, OneJavaRuntime, OneJavaStackFrame, OneJavaThread, PropertiesWrapper, PropertiesWrapper, SectionsTableBase, SimpleAnalyzerBean, StringWrapper, SynchronizedMapWrapper, SynchronizedSetWrapper, ThreadLocalWrapper, TreeMapWrapper, TreeSetWrapper, TreeSetWrapper, ValueWrapper, VectorWrapper
public interface IAnalyzerBase
Define the primary interface to an analyser which will do analysis on a DTFJ Image.
Typical analysers will implement one or more of IAnalyzer and IReport in
addition to this base interface. For convenience we will also implement
some helper base classes that implement a typical combination of interfaces.
Method Summary |
int |
getCachingPriority()
Return an indication of how desirable it is for the AnalyzerContext to
cache instances of this analyzer, so that multiple calls to loadAnalyzer()
will return the cached instance instead of allocating and initializing a
new one each time. |
java.lang.String[] |
getCategories()
|
IAnalyzerContext |
getContext()
|
java.lang.String |
getLongDescription()
Produce a long description of the function of this analyser. |
java.lang.String |
getName()
|
java.lang.String |
getShortDescription()
Return a short description of the analyser purpose. |
java.lang.String |
getVersion()
Get version information for this analyser. |
boolean |
isPrimaryAnalyzer()
Some Analyzers are designed to perform analysis tasks and others are designed to perform
supporting tasks such as wrapping a DTFJ object and providing extra information. |
void |
setContext(IAnalyzerContext a)
Define the context associated with this analyzer instance. |
setContext
void setContext(IAnalyzerContext a)
- Define the context associated with this analyzer instance. This is invoked by the
framework after the analyser is created and will thus never be null when the analyser
is invoked.
- Parameters:
a
- - the context to be associated with this analyser
getContext
IAnalyzerContext getContext()
- Returns:
- - the context associated with this analyser instance
getName
java.lang.String getName()
- Returns:
- - the unique name associated with this type of analyser
getCategories
java.lang.String[] getCategories()
- Returns:
- - the set of categories the analyzer associated with. Categories can
have tree type hierarchy with '.' used as a path separator. This method should never
return
null
- "no category" should be indicated by an empty array or
an empty string.
getVersion
java.lang.String getVersion()
- Get version information for this analyser.
- Returns:
- - a String containing the version information
getShortDescription
java.lang.String getShortDescription()
- Return a short description of the analyser purpose. This will be printed prior to
running the analyser.
- Returns:
- - the short description
getLongDescription
java.lang.String getLongDescription()
- Produce a long description of the function of this analyser.
The long description may use multiple lines, and should be suitable for using in a help
message associated with this analyser. The description should include information
about the report options and types of rules accepted by this bean, if any.
- Returns:
- - a String containing the long description.
getCachingPriority
int getCachingPriority()
- Return an indication of how desirable it is for the AnalyzerContext to
cache instances of this analyzer, so that multiple calls to loadAnalyzer()
will return the cached instance instead of allocating and initializing a
new one each time.
The caching priority is represented as a number between 0 and 10, where 0 means never
cache instances of this analyzer, 10 means always cache all instances, and any
number in-between indicates that we should try to cache it as long as there is enough
memory available and that we give precedence to higher-priority analyzers when
memory is scarce.
- Returns:
- the caching priority, as a number between 0 and 10
isPrimaryAnalyzer
boolean isPrimaryAnalyzer()
- Some Analyzers are designed to perform analysis tasks and others are designed to perform
supporting tasks such as wrapping a DTFJ object and providing extra information. At the
end of an analysis run we would like to summarise the analyzers which have been run but we
also want to avoid having a huge list. Hence we only choose to list analyzers which are
designated 'primary' and typically are doing some specific analysis rather that providing a
service to other analyzers.
- Returns:
- true if this is a primary analyzer, false otherwise
© Copyright IBM Corp. 2007, 2008 All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or disclosure restricted
by GSA ADP Schedule Contract with IBM Corp.