Class SnapshotQueryContext
java.lang.Object
org.eclipse.mat.query.registry.QueryContextImpl
org.eclipse.mat.internal.snapshot.SnapshotQueryContext
- All Implemented Interfaces:
IQueryContext
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
available
(Class<?> type, Argument.Advice advice) Is this type of data available from the context?boolean
converts
(Class<?> type, Argument.Advice advice) Does the context have a converter for data of this type?convertToString
(Class<?> type, Argument.Advice advice, Object value) Convert the value to a string.convertToValue
(Class<?> type, Argument.Advice advice, String value) Convert the String to the value based on the type and advice.get
(Class<?> type, Argument.Advice advice) Get this type of data from the context.For example, retained size derived data.The prefix for files generated from snapshotThe main file for the snapshotmapToExternalIdentifier
(int objectId) Map an id to a readable form.int
mapToObjectId
(String externalIdentifier) Map readable form to internal id.parse
(Class<?> type, Argument.Advice advice, String[] args, ParsePosition pos) Consume the special data.boolean
parses
(Class<?> type, Argument.Advice advice) Is special parsing required to get an object of the required type?
-
Constructor Details
-
SnapshotQueryContext
-
-
Method Details
-
getPrimaryFile
Description copied from interface:IQueryContext
The main file for the snapshot- Returns:
- the dump
-
getPrefix
Description copied from interface:IQueryContext
The prefix for files generated from snapshot- Returns:
- the prefix
-
mapToExternalIdentifier
Description copied from interface:IQueryContext
Map an id to a readable form. For example the hex-address with 0x as a prefix. Reverse ofIQueryContext.mapToObjectId(java.lang.String)
- Parameters:
objectId
- The 0-based internal identifier used within MAT.- Returns:
- readable external version
- Throws:
SnapshotException
- if the objectId does not match to a valid object.- See Also:
-
mapToObjectId
Description copied from interface:IQueryContext
Map readable form to internal id. Reverse ofIQueryContext.mapToExternalIdentifier(int)
.- Parameters:
externalIdentifier
- as provided byIQueryContext.mapToExternalIdentifier(int)
.- Returns:
- the object id
- Throws:
SnapshotException
- if the external identifier does not match a known object in the snapshot.
-
available
Description copied from interface:IQueryContext
Is this type of data available from the context?- Specified by:
available
in interfaceIQueryContext
- Overrides:
available
in classQueryContextImpl
- Parameters:
type
- the type the data should be converted toadvice
- advice such as from the query as to how the value should be converted.- Returns:
- true if available.
-
get
Description copied from interface:IQueryContext
Get this type of data from the context.- Specified by:
get
in interfaceIQueryContext
- Overrides:
get
in classQueryContextImpl
- Parameters:
type
- the type the data should be converted toadvice
- advice such as from the query as to how the value should be converted.- Returns:
- the object of the right type
-
converts
Description copied from interface:IQueryContext
Does the context have a converter for data of this type?- Specified by:
converts
in interfaceIQueryContext
- Overrides:
converts
in classQueryContextImpl
- Parameters:
type
- The Java type of an argument to be supplied with data from this context.advice
- Further details about the argument to be supplied with data.- Returns:
- true if available and convertible
-
convertToString
public String convertToString(Class<?> type, Argument.Advice advice, Object value) throws SnapshotException Description copied from interface:IQueryContext
Convert the value to a string. For example the converter might be String.valueOf(Integer)- Specified by:
convertToString
in interfaceIQueryContext
- Overrides:
convertToString
in classQueryContextImpl
- Parameters:
type
- The Java type of the argument.advice
- Further details about the argument.value
- The value of the argument held in the context.- Returns:
- the value converted to a String
- Throws:
SnapshotException
- If there is a problem with the conversion such as the value is not a valid object ID.
-
convertToValue
public Object convertToValue(Class<?> type, Argument.Advice advice, String value) throws SnapshotException Description copied from interface:IQueryContext
Convert the String to the value based on the type and advice.- Specified by:
convertToValue
in interfaceIQueryContext
- Overrides:
convertToValue
in classQueryContextImpl
- Parameters:
type
- The Java type of the argumentadvice
- Further details about the argument.value
- The readable string value- Returns:
- the String converted to a value suitable to be stored in the argument.
- Throws:
SnapshotException
- if there is a problem with the conversion, such as an unknown object address.
-
parses
Description copied from interface:IQueryContext
Is special parsing required to get an object of the required type?- Parameters:
type
- The Java type of the argument.advice
- Further details about the argument.- Returns:
- true if special parsing is needed, for example for a heap object or class object in the heap.
-
parse
public Object parse(Class<?> type, Argument.Advice advice, String[] args, ParsePosition pos) throws SnapshotException Description copied from interface:IQueryContext
Consume the special data. For example using the ArgumentParser for data from a query wizard.- Parameters:
type
- The Java type of the destination argument.advice
- Further details about the argument.args
- The source to be convertedpos
- Used to index through the array of Strings.- Returns:
- the result of parsing the data suitable given the type and advice
- Throws:
SnapshotException
- If there is a problem in the parsing.
-
getContextDerivedData
Description copied from interface:IQueryContext
For example, retained size derived data.- Returns:
- the derived data
-