package plan.dom; /** The request of a customer for a feature. */ public class CustomerRequest { /** Create a customer request from customer "c" for feature "f" with desirability "d". * @param f the feature being requested * @param c the customer requesting the feature * @param desirability the level of desire of the customer for the feature. Must be between 1 and 10 inclusive. */ public CustomerRequest(Feature f, Customer c, int desirability) { if (desirability < 1 || desirability > 10) throw new Error("Assertion failure: desitability outside of range 1..10"); f.addCustomerRequest(this); customer = c; this.desirability = desirability; } public int getDesirability() { return desirability; } public Customer getCustomer() { return customer; } private int desirability; private Customer customer; }