package com.jscape.inet.terminal.commands;

import com.jscape.inet.terminal.Terminal;

/**
 * Base interface for control commands.
 * "Command" pattern [Gamma94].
 */

public interface ControlCommand {

    //----------------------------------------------------------------------------

    /**
     * Executes command giving parameters and <code>Terminal</code> object.
     *
     * @param params   array of <code>int</code> command parametrs.
     * @param terminal target <code>Terminal</code> object.
     */
    void execute(int[] params, Terminal terminal);

    //----------------------------------------------------------------------------

    /**
     * Sends command to remote host.
     *
     * @param params   command parameters.
     * @param terminal target <code>Terminal</code> object to send command.
     */
    void send(int[] params, Terminal terminal);

}