Class QueryDescriptor

java.lang.Object
org.eclipse.mat.query.registry.AnnotatedObjectDescriptor
org.eclipse.mat.query.registry.QueryDescriptor
All Implemented Interfaces:
IAnnotatedObjectDescriptor

public class QueryDescriptor extends AnnotatedObjectDescriptor
A description of a query to be run on a snapshot, though this class is independent of the actual snapshot and uses IQueryContext.
  • Method Details

    • getCategory

      public String getCategory()
      The menu category provided by Category.
      Returns:
      the category as a translated string
    • getCommandType

      public Class<? extends IQuery> getCommandType()
      The type of the query object, to be instantiated and the arguments injected when the query is run.
      Returns:
      the type, suitable for instantiation with Class.newInstance() or Constructor.newInstance(Object...)
    • createNewArgumentSet

      public ArgumentSet createNewArgumentSet(IQueryContext context) throws SnapshotException
      Create ArgumentSet.
      Parameters:
      context - The context holding data which could be supplied into the argument set for a query.
      Returns:
      The ArgumentSet for a query holding the data from the context required for the query.
      Throws:
      SnapshotException - if there is a problem creating an argument set from the context.
    • getShortDescription

      public String getShortDescription()
      A short description of the query - about 80 characters, truncated from the full help at a sentence boundary.
      Returns:
      a translated short description
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • accept

      public boolean accept(IQueryContext context)
      Can the query be satisfied by the current context, possibly with other user supplied arguments?
      Parameters:
      context - The data that could be supplied, for example the selected objects.
      Returns:
      true if the query is suitable for use with the current context
    • explain

      public String explain(IQueryContext context)
      Explain any parameters which cannot be filled in from the provided context.
      Parameters:
      context - The data that could be supplied, for example the selected objects.
      Returns:
      a description of the problem arguments
    • getArgumentByName

      public ArgumentDescriptor getArgumentByName(String name)
    • getMenuEntries

      public List<QueryDescriptor> getMenuEntries()
    • isShallow

      public boolean isShallow()
      Whether to not prompt the user for further arguments.
      Returns:
      false if the query is a standard query where the user can be asked for more arguments