org.eclipse.mat.query.annotations

## Annotation Type Argument

    @Target(value=FIELD)
     @Retention(value=RUNTIME)
    public @interface Argument

Annotates a member variable to be an query argument. Memory Analyzer queries implementing `IQuery` use @Argument to annotate query arguments. `advice()`, `Argument.Advice`, `isMandatory()` and `flag()` can be used to further describe arguments. Heap dump providers using implementations of `IHeapDumpProvider` and subclasses of `VmInfo` can use @Argument to annotate extra arguments.

### Field Summary

Fields
`static String` `UNFLAGGED` A constant for the `flag()` annotation parameter to show that for a command line query no flag should be specified before the argument.

### Optional Element Summary

Optional Elements
`Argument.Advice` `advice` If needed, the type of the argument.
`String` `flag` The name of the flag, used for query arguments table and for specifying command line arguments.
`boolean` `isMandatory` Indicates whether the argument is mandatory (default)

### Field Detail

#### UNFLAGGED

    public static final String UNFLAGGED

A constant for the `flag()` annotation parameter to show that for a command line query no flag should be specified before the argument. For a query dialog the field name without a leading dash is used as the argument name.

Since:
  1.0

### Element Detail

#### flag

    public abstract String flag

The name of the flag, used for query arguments table and for specifying command line arguments. The default, "", means use the name of the argument field. `UNFLAGGED` or "none" means for the command line query no flag should be specified before the argument.

Returns:
  the name of the flag

Default:
  ""

#### isMandatory

    public abstract boolean isMandatory

Indicates whether the argument is mandatory (default)

Returns:
  true of the argument is mandatory

Default:
  true

#### advice

    public abstract Argument.Advice advice

If needed, the type of the argument.

Returns:
  the type

Default:
  org.eclipse.mat.query.annotations.Argument.Advice.NONE