Package org.eclipse.mat.query
Interface IQueryContext
-
- All Known Implementing Classes:
ProviderContextImpl,QueryContextImpl,SnapshotQueryContext
public interface IQueryContextThe context for a query. Hides the snapshot implementation, and is not tied to the snapshot API.- No Implement:
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanavailable(Class<?> type, Argument.Advice advice)Is this type of data available from the context?booleanconverts(Class<?> type, Argument.Advice advice)Does the context have a converter for data of this type?StringconvertToString(Class<?> type, Argument.Advice advice, Object value)Convert the value to a string.ObjectconvertToValue(Class<?> type, Argument.Advice advice, String value)Convert the String to the value based on the type and advice.Objectget(Class<?> type, Argument.Advice advice)Get this type of data from the context.ContextDerivedDatagetContextDerivedData()For example, retained size derived data.StringgetPrefix()The prefix for files generated from snapshotFilegetPrimaryFile()The main file for the snapshotStringmapToExternalIdentifier(int objectId)Map an id to a readable form.intmapToObjectId(String externalIdentifier)Map readable form to internal id.Objectparse(Class<?> type, Argument.Advice advice, String[] args, ParsePosition pos)Consume the special data.booleanparses(Class<?> type, Argument.Advice advice)Is special parsing required to get an object of the required type?
-
-
-
Method Detail
-
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
boolean available(Class<?> type, Argument.Advice advice)
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
Object get(Class<?> type, Argument.Advice advice)
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
String mapToExternalIdentifier(int objectId) throws SnapshotException
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(java.lang.String)
-
mapToObjectId
int mapToObjectId(String externalIdentifier) throws SnapshotException
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
boolean converts(Class<?> type, Argument.Advice advice)
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
Object convertToValue(Class<?> type, Argument.Advice advice, String value) throws SnapshotException
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
boolean parses(Class<?> type, Argument.Advice advice)
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
-
-