/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.tools.gui.historybutton;
import java.util.Vector;
/**
* The interface of the HistoryModel for the JHistoryButton. See a short <a
* href="http://flexo.cismet.de/gadgets/JHistory/">description and demo</a> on the website.
*
* <p>License: <a href="http://www.gnu.org/copyleft/lesser.html#TOC1">GNU LESSER GENERAL PUBLIC LICENSE</a><br>
* <img src="http://opensource.org/trademarks/osi-certified/web/osi-certified-60x50.gif"> <img
* src="http://opensource.org/trademarks/opensource/web/opensource-55x48.gif"></p>
*
* @author thorsten.hell@cismet.de
* @version $Revision$, $Date$
*/
public interface HistoryModel {
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @param max DOCUMENT ME!
*/
void setMaximumPossibilities(int max);
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
boolean isBackPossible();
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
boolean isForwardPossible();
/**
* DOCUMENT ME!
*
* @param external DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
Object back(boolean external);
/**
* DOCUMENT ME!
*
* @param external DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
Object forward(boolean external);
/**
* DOCUMENT ME!
*
* @param hml DOCUMENT ME!
*/
void addHistoryModelListener(HistoryModelListener hml);
/**
* DOCUMENT ME!
*
* @param hml DOCUMENT ME!
*/
void removeHistoryModelListener(HistoryModelListener hml);
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
Vector getBackPossibilities();
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
Vector getForwardPossibilities();
/**
* DOCUMENT ME!
*
* @param o DOCUMENT ME!
*/
void addToHistory(Object o);
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
Object getCurrentElement();
}