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 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

      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 to
      advice - 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 to
      advice - 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 of 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

      int mapToObjectId(String externalIdentifier) throws SnapshotException
      Map readable form to internal id. Reverse of mapToExternalIdentifier(int).
      Parameters:
      externalIdentifier - as provided by mapToExternalIdentifier(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 argument
      advice - 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 converted
      pos - 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