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(java.lang.Class<?> type, Argument.Advice advice)Is this type of data available from the context?booleanconverts(java.lang.Class<?> type, Argument.Advice advice)Does the context have a converter for data of this type?java.lang.StringconvertToString(java.lang.Class<?> type, Argument.Advice advice, java.lang.Object value)Convert the value to a string.java.lang.ObjectconvertToValue(java.lang.Class<?> type, Argument.Advice advice, java.lang.String value)Convert the String to the value based on the type and advice.java.lang.Objectget(java.lang.Class<?> type, Argument.Advice advice)Get this type of data from the context.ContextDerivedDatagetContextDerivedData()For example, retained size derived data.java.lang.StringgetPrefix()The prefix for files generated from snapshotjava.io.FilegetPrimaryFile()The main file for the snapshotjava.lang.StringmapToExternalIdentifier(int objectId)Map an id to a readable form.intmapToObjectId(java.lang.String externalIdentifier)Map readable form to internal id.java.lang.Objectparse(java.lang.Class<?> type, Argument.Advice advice, java.lang.String[] args, java.text.ParsePosition pos)Consume the special data.booleanparses(java.lang.Class<?> type, Argument.Advice advice)Is special parsing required to get an object of the required type?
-
-
-
Method Detail
-
getPrimaryFile
java.io.File getPrimaryFile()
The main file for the snapshot- Returns:
- the dump
-
getPrefix
java.lang.String getPrefix()
The prefix for files generated from snapshot- Returns:
- the prefix
- Since:
- 1.3
-
available
boolean available(java.lang.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
java.lang.Object get(java.lang.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
java.lang.String mapToExternalIdentifier(int objectId) throws SnapshotExceptionMap 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(java.lang.String externalIdentifier) throws SnapshotExceptionMap 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(java.lang.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
java.lang.String convertToString(java.lang.Class<?> type, Argument.Advice advice, java.lang.Object value) throws SnapshotExceptionConvert 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
java.lang.Object convertToValue(java.lang.Class<?> type, Argument.Advice advice, java.lang.String value) throws SnapshotExceptionConvert 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(java.lang.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
java.lang.Object parse(java.lang.Class<?> type, Argument.Advice advice, java.lang.String[] args, java.text.ParsePosition pos) throws SnapshotExceptionConsume 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
-
-