import java.util.StringTokenizer; import util.bit.Bit; abstract class Command { /* options */ static final int OPT_PLR = Bit.BIT0; static final int OPT_CRT = Bit.BIT1; static protected Manager theManager = null; static protected World theWorld = null; static void setManager(Manager aManager) { theManager = aManager; } static void setWorld(World aWorld) { theWorld = aWorld; } private String theName = null; private int minRank; private int minPos; private int options; Command(String name, int mRank, int mPos, int opt) { theName = name; minRank = mRank; minPos = mPos; options = opt; } String getName() { return theName; } boolean hasName(String name) { return getName().startsWith(name); } int getMinRank() { return minRank; } int getMinPos() { return minPos; } boolean allowPlayer() { return Bit.isSet(options, OPT_PLR); } boolean allowCreature() { return Bit.isSet(options, OPT_CRT); } abstract void execute(Char aChar, StringTokenizer toker, String cmd, String cmdLine); }