org.eclipse.mat.query.annotations.descriptors

## Interface IAnnotatedObjectDescriptor

All Known Implementing Classes:
  AnnotatedObjectDescriptor, HeapDumpProviderDescriptor, QueryDescriptor, VmInfoDescriptor

    public interface IAnnotatedObjectDescriptor

A descriptor which allows to inspect an annotated object, e.g. a IQuery

Since:
  1.0

### Method Summary

All Methods Instance Methods Abstract Methods
`List<ArgumentDescriptor>` `getArguments()` Get descriptors for the fields annotated by the annotation `Argument`.
`String` `getHelp()` Get the help String, for example provided by the annotation `Help`.
`Locale` `getHelpLocale()` Get the help locale
`String` `getHelpUrl()` Get the help URL, for example provided by the annotation `HelpUrl`.
`URL` `getIcon()` Get the Icon representing the annotated object, for example provided by the annotation `Icon`.
`String` `getIdentifier()` Get the identifier for the annotated object, for example provided by the annotation `CommandName` or `getName()`.
`String` `getName()` Get the name, for example provided by the annotation `Name`.
`String` `getUsage(IQueryContext context)` Get the usage information, for example provided by the annotation `Usage`, or by a combination of the `getIdentifier()` and `ArgumentDescriptor.appendUsage(java.lang.StringBuilder)`.
`boolean` `isHelpAvailable()` Check if the object has provided some help via annotations.

### Method Detail

#### getUsage

    String getUsage(IQueryContext context)

Get the usage information, for example provided by the annotation `Usage`, or by a combination of the `getIdentifier()` and `ArgumentDescriptor.appendUsage(java.lang.StringBuilder)`.

Parameters:
  `context` - used to fill in some arguments leaving usage to explain the remainder
Returns:
  the usage information for that query

#### getIcon

    URL getIcon()

Get the Icon representing the annotated object, for example provided by the annotation `Icon`.

Returns:
  the Icon as a URL

#### getIdentifier

    String getIdentifier()

Get the identifier for the annotated object, for example provided by the annotation `CommandName` or `getName()`.

Returns:
  the identifier

#### getName

    String getName()

Get the name, for example provided by the annotation `Name`.

Returns:
  the name

#### getHelp

    String getHelp()

Get the help String, for example provided by the annotation `Help`.

Returns:
  the help

#### getHelpUrl

    String getHelpUrl()

Get the help URL, for example provided by the annotation `HelpUrl`.

Returns:
  the help URL

#### getHelpLocale

    Locale getHelpLocale()

Get the help locale

Returns:
  the locale

#### getArguments

    List<ArgumentDescriptor> getArguments()

Get descriptors for the fields annotated by the annotation `Argument`. TODO Should this have been IArgumentDescriptor ?

Returns:
  the list of annotated arguments, see `ArgumentDescriptor`

#### isHelpAvailable

    boolean isHelpAvailable()

Check if the object has provided some help via annotations.

Returns:
  true if the object or arguments were annotated with `Help`.