/** * <> * abstract list state * @author Dung X. Nguyen - Copyright 1999 - All rights reserved. * @since 10/01/99 * @dependency IAlgo uses */ abstract interface IState { /** * @param owner * @return n */ abstract QFList getRest(QFList owner); /** * @param owner * @return n */ abstract Object getFirst(QFList owner); /** * @param tail * @param owner */ abstract void setRest(QFList tail, QFList owner); /** * @param dat * @param owner */ abstract void setFirst(Object dat, QFList owner); /** * @param dat * @param owner */ abstract void insertFront(Object dat, QFList owner); /** * @param owner * @return */ abstract Object removeFront(QFList owner); abstract Object execute(IAlgo visitor, Object param, QFList owner); }