1e938252f49773af6f949a11e4ca7d111fe2c912
[fleet.git] / src / edu / berkeley / fleet / api / BenkoBox.java
1 package edu.berkeley.fleet.api;
2
3 public abstract class BenkoBox {
4
5     /** you should extend subclasses, not this class directly */
6     //FIXME
7     public BenkoBox() { }
8
9     /** the descriptive name of this benkobox (relative to its ship) */
10     public abstract String getName();
11
12     /** return the Ship to which this BenkoBox belongs */
13     public abstract Ship   getShip();
14
15     /** the maximum number of instructions we can put in the BenkoBox instruction fifo,
16      *  or Integer.MAX_VALUE if unbounded */
17     public abstract int getInstructionFifoLength();
18
19     public static abstract class Inbox extends BenkoBox {
20         public Inbox() { }
21     }
22
23     public static abstract class Outbox extends BenkoBox {
24         public Outbox() { }
25     }
26
27 }