package ru.matevosyan.start;

/**
 * Interface UserAction.
 * Created on 08.01.2017.
 * @since 1.0
 * @version 1.0
 * @author Matevosyan Vardan
 */

public abstract class BaseAction implements UserAction {

    private int key;
    private String name;

    public BaseAction(int key, String name) {
        this.name = name;
        this.key = key;
    }

    @Override
    public int key() {
        return this.key;
    }

    public abstract void execute(Input input, Tracker tracker);

    @Override
    public String info() {
        return String.format("%s. %s", this.key, this.name);
    }

}

@@ -208,221 +208,738 @@
     
-private int key;%0A    private String name;%0A%0A    public BaseAction(int key, String name) %7B%0A        this.name = name;%0A        this.key = key;%0A    %7D%0A%0A    @Override%0A    public int key() %7B%0A        return this.key;%0A    %7D
+/**%0A     * Key use to return userAction keys.%0A     */%0A%0A    private int key;%0A%0A    /**%0A     * Name use to return menu points.%0A     */%0A%0A    private String name;%0A%0A    /**%0A     * BaseAction constructor to assign the variable value.%0A     * @param key use to assign userAction key to return it.%0A     * @param name use to assign userAction menu point to return it.%0A     */%0A%0A    public BaseAction(int key, String name) %7B%0A        this.name = name;%0A        this.key = key;%0A    %7D%0A%0A    @Override%0A    public int key() %7B%0A        return this.key;%0A    %7D%0A%0A    /**%0A     * Abstract method which is implements in MenuTracker class.%0A     * @param input it is input state%0A     * @param tracker it is the class that we can use for work with items%0A     */
 %0A%0A  

add javadoc