Package org.eclipse.mat.query.annotations

## Annotation Type Argument

    @Target(FIELD)
    @Retention(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 java.lang.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.
`java.lang.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

    static final java.lang.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

    java.lang.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

    boolean isMandatory

Indicates whether the argument is mandatory (default)

Returns:
  true of the argument is mandatory

Default:
  true

#### advice

    Argument.Advice advice

If needed, the type of the argument.

Returns:
  the type

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