40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
|
package envoy.client.data.commands;
|
||
|
|
||
|
import java.util.List;
|
||
|
|
||
|
/**
|
||
|
* This interface defines an action that should be performed when a system
|
||
|
* command gets called.
|
||
|
*
|
||
|
* @author Leon Hofmeister
|
||
|
* @since Envoy Client v0.2-beta
|
||
|
*/
|
||
|
public interface Callable {
|
||
|
|
||
|
/**
|
||
|
* Performs the instance specific action when a {@link SystemCommand} has been
|
||
|
* called.
|
||
|
*
|
||
|
* @param arguments the arguments that should be passed to the
|
||
|
* {@link SystemCommand}
|
||
|
* @since Envoy Client v0.2-beta
|
||
|
*/
|
||
|
void call(List<String> arguments);
|
||
|
|
||
|
/**
|
||
|
* Performs the instance specific action when a {@link SystemCommand} has been
|
||
|
* called and additionally enables the user to execute his own action once it
|
||
|
* has been called.
|
||
|
*
|
||
|
* @param arguments the arguments that should be passed to the
|
||
|
* {@link SystemCommand}
|
||
|
* @param additionalAction the action to perform when this system command has
|
||
|
* been called
|
||
|
* @since Envoy Client v0.2-beta
|
||
|
*/
|
||
|
default void call(List<String> arguments, Runnable additionalAction) {
|
||
|
call(arguments);
|
||
|
additionalAction.run();
|
||
|
}
|
||
|
}
|