DOCUMENTATION TUTORIALS DOWNLOAD NEWS CONTRIBUTE

Index of annotations

Annotations are used to link Java methods and classes to GAML language.

@action

This annotations is used to tag a method that will be considered as an action (or primitive) in GAML. The method must have the following signature: Object methodName(IScope) throws GamaRuntimeException and be contained in a class annotated with @species or @skill (or a related class, like a subclass or an interface).

This annotation contains:

@arg

This annotations describes an argument passed to an action.

This annotation contains:

@constant

This annotation is used to annotate fields that are used as constants in GAML.

This annotation contains:

@doc

It provides a unified way of attaching documentation to the various GAML elements tagged by the other annotations. The documentation is automatically assembled at compile time and also used at runtime in GAML editors.

This annotation contains:

@example

This facet describes an example, that can be used either in the documentation, as unit test or as pattern.

This annotation contains:

@facet

This facet describes a facet in a list of facets.

This annotation contains:

@facets

This annotation describes a list of facets used by a statement in GAML.

This annotation contains:

@file

This annotation is used to define a type of file.

This annotation contains:

@getter

This annotations is used to indicate that a method is to be used as a getter for a variable defined in the class. The variable must be defined on its own (in vars).

This annotation contains:

@inside

This annotation is used in conjunction with symbol. Provides a way to tell where this symbol should be located in a model (i.e. what its parents should be). Either direct symbol names (in symbols) or generic symbol kinds can be used.

This annotation contains:

@operator

This annotation represents an “operator” in GAML, and is used to define its name(s) as well as some meta-data that will be used during the validation process.

This annotation contains:

@serializer

It allows to declare a custom serializer for Symbols (statements, var declarations, species ,experiments, etc.). This serializer will be called instead of the standard serializer, superseding this last one. Serializers must be subclasses of the SymbolSerializer class.

@setter

This annotations is used to indicate that a method is to be used as a setter for a variable defined in the class. The variable must be defined on its own (in vars).

This annotation contains:

@skill

This annotations Allows to define a new skill (class grouping variables and actions that can be used by agents).

This annotation contains:

@species

This annotation represents a “species” in GAML. The class annotated with this annotation will be the support of a species of agents.

This annotation contains:

@symbol

This annotation represents a “statement” in GAML, and is used to define its name(s) as well as some meta-data that will be used during the validation process.

This annotation contains:

@type

It provides information necessary to the processor to identify a type.

This annotation contains:

@usage

This replaces @special_cases and @examples, and unifies the doc for operators, statements and others. An @usage can also be used for defining a template for a GAML structure, and in that case requires the following to be defined:

This annotation contains:

@validator

It allows to declare a custom validator for Symbols (statements, var declarations, species ,experiments, etc.). This validator, if declared on subclasses of Symbol, will be called after the standard validation is done. The validator must be subclass of IDescriptionValidator.

@var

This annotation is used to describe a single variable or field.

This annotation contains:

@vars

This annotation is used to describe a set of variables or fields.

This annotation contains: