View Javadoc

1   package cz.cuni.amis.pogamut.sposh.executor;
2   
3   import java.lang.annotation.ElementType;
4   import java.lang.annotation.Retention;
5   import java.lang.annotation.RetentionPolicy;
6   import java.lang.annotation.Target;
7   
8   /**
9    * Optional, use this annotation for the some implementation of {@link ISense} and
10   * {@link IAction}, this annotation specifies the name and description of primitive.
11   * 
12   * If not specified, nothing horrible will happen, but it is not user friendly,
13   * because the name of the implementing class will be used. Try to keep it unique, not
14   * required, only better for humans working with editor.
15   * @author Honza
16   */
17  @Retention(RetentionPolicy.RUNTIME)
18  @Target(ElementType.TYPE)
19  public @interface PrimitiveInfo {
20      /**
21       * Name of the primitive displayed in the editor and debugger.
22       * @return Human readable name of the primitive
23       */
24      String name();
25      /**
26       * More precise description of the primitive, should describe what exactly
27       * does it do and what are its parameters. Displayed in the Shed palette.
28       */
29      String description();
30      /**
31       * Tags of the primitive (e.g. "movement" for action Turn). Should be used
32       * during searchng, but not currently used.
33       *
34       * @return List of tags of this primitive
35       */
36      String[] tags() default {};
37  }