package part1;

/**
 *
 * A PlayerContext acts a Mediator to control the activies of a 
 * Player. A PlayerContext is notified when a PlayerCommand is pressed
 * and performs the necessary action.
 *
 * The PlayerContext also provides the presentation framework within
 * which the Player operates. In most cases this will be a JFrame.
 *
 * The PlayerContext has references to the PlayerCommands it hosts
 * so it can change state in one when another changes state via an
 * action.
 * 
 * @see PlayerContext
 *
 * @author $Author: cdent $
 *
 * @version $Revision: 1.2 $
 *
 */
public interface PlayerContext {

    public abstract void setPlayCommand(PlayerCommand playCommand);
    public abstract void setFastForwardCommand(PlayerCommand fastCommand);
    public abstract void setRewindCommand(PlayerCommand rewindCommand);
    public abstract void setStopCommand(PlayerCommand stopCommand);

    /**
     * Cause the presentation framework to display.
     * In most cases this method will set the layout and size of 
     * a JFrame and then call show() on it.
     *
     */
    public abstract void show();

}
	
