package edu.rice.cs.dxn.QFList; /** * <> * abstract list state */ 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); }