001package fr.aumgn.bukkitutils.command;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008@Target(ElementType.METHOD)
009@Retention(RetentionPolicy.RUNTIME)
010public @interface Command {
011
012    /**
013     * Name of the command (ie. preferably the real name and not an alias)
014     */
015    String name();
016
017    /**
018     * Minimum required number of arguments.
019     */
020    int min() default 0;
021
022    /**
023     * Maximum number of arguments.
024     * Use -1 to set the number unlimited.
025     */
026    int max() default 0;
027
028    /**
029     * Accepted flags.
030     */
031    String flags() default "";
032
033    /**
034     * Accepted args flags.
035     */
036    String argsFlags() default "";
037}