LimitOrders are, for our purposes, Buy or Sell orders that do not (necessarily) execute immediately. MarketOrders are their counterpart which do execute immediately.
They are created and managed by Players. But after they are submitted to an OrderBook for execution, only the orderbook may modify them. The Player retains responsibility for checking on their execution status.
Within the context of the DoubleAuctionOrderBook, they are LimitOrders in the normal sense as found on stock markets, where a price, quantity, and possibly an expiration are specified, and it will execute if market conditions make it feasible before expiration.
Specification for LimitOrder class:
public class LimitOrder
These values are set at creation by the player:
These values are modified by the OrderBook upon execution, expiration, or cancellation
At any time, the player/investor may check the status of his orders (to do accounting for example)