Package org.eclipse.mat.query
Interface IQueryContext
- All Known Implementing Classes:
ProviderContextImpl
,QueryContextImpl
,SnapshotQueryContext
public interface IQueryContext
The context for a query. Hides the snapshot implementation,
and is not tied to the snapshot API.
- No Implement:
-
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?
-
Method Details
-
getPrimaryFile
File getPrimaryFile()The main file for the snapshot- Returns:
- the dump
-
getPrefix
String getPrefix()The prefix for files generated from snapshot- Returns:
- the prefix
- Since:
- 1.3
-
available
Is this type of data available from the context?- 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
Get this type of data from the context.- 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
-
mapToExternalIdentifier
Map an id to a readable form. For example the hex-address with 0x as a prefix. Reverse ofmapToObjectId(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
Map readable form to internal id. Reverse ofmapToExternalIdentifier(int)
.- Parameters:
externalIdentifier
- as provided bymapToExternalIdentifier(int)
.- Returns:
- the object id
- Throws:
SnapshotException
- if the external identifier does not match a known object in the snapshot.
-
converts
Does the context have a converter for data of this type?- 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
String convertToString(Class<?> type, Argument.Advice advice, Object value) throws SnapshotException Convert the value to a string. For example the converter might be String.valueOf(Integer)- 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
Convert the String to the value based on the type and advice.- 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
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
Object parse(Class<?> type, Argument.Advice advice, String[] args, ParsePosition pos) throws SnapshotException 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
ContextDerivedData getContextDerivedData()For example, retained size derived data.- Returns:
- the derived data
-