summaryrefslogtreecommitdiff
path: root/dicore3/command/src/main/java/io/dico/dicore/command/annotation/CmdParamType.java
blob: 3eb2d53d5dbca918b15d555c1b6f0ba05103a470 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package io.dico.dicore.command.annotation;

import io.dico.dicore.command.parameter.type.IParameterTypeSelector;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation to mark methods that register a parameter type to the localized selector for use in reflective commands.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface CmdParamType {

    /**
     * If this flag is set, the type is registered without its annotation type.
     * As a result, the {@link IParameterTypeSelector} is more likely to select it (faster).
     * This is irrelevant if there is no annotation type or param config.
     *
     * @return true if this parameter type should be registered without its annotation type too
     */
    boolean infolessAlias() default false;

}