package eu.oschl.gui.actions;

/***
 * This interface defines the structure for commands in the console application.
 *
 * @author Ondřej Schlaichert
 */
public interface Action {
    /**
     * Returns ID of the action.
     *
     * @return a string ID
     */
    String getId();

    /**
     * Returns name of the action.
     *
     * @return a string name
     */
    String getName();

    /**
     * Returns a description of what the action does.
     *
     * @return a string description of the action
     */
    String getDescription();

    /**
     * Executes the action with the provided arguments.
     *
     * @param args an array of strings representing the action arguments
     */
    void execute(String[] args);
}
