Core/src/main/java/eu/univento/core/api/command/Completer.java

42 lines
1.1 KiB
Java

/*
* Copyright (c) 2017 univento.eu - All rights reserved
* You are not allowed to use, distribute or modify this code
*/
package eu.univento.core.api.command;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Command Framework - Completer <br>
* The completer annotation used to designate methods as command completers. All
* methods should have a single CommandArgs argument and return a String List
* object
*
* @author minnymin3
*
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Completer {
/**
* The command that this completer completes. If it is a sub command then
* its values would be separated by periods. ie. a command that would be a
* subcommand of test would be 'test.subcommandname'
*
* @return
*/
String name();
/**
* A list of alternate names that the completer is executed under. See
* name() for details on how names work
*
* @return
*/
String[] aliases() default {};
}