package br.com.caelum.vraptor.restbucks; import java.util.List; import br.com.caelum.vraptor.restbucks.web.ItemController; import br.com.caelum.vraptor.restfulie.Restfulie; import br.com.caelum.vraptor.restfulie.hypermedia.HypermediaResource; import br.com.caelum.vraptor.restfulie.relation.Relation; import com.thoughtworks.xstream.annotations.XStreamAlias; @XStreamAlias("item") public class Item implements HypermediaResource{ enum Coffee {LATTE, CAPPUCINO, ESPRESSO}; enum Milk {SKIM, SEMI, WHOLE}; enum Size {SMALL, MEDIUM, LARGE}; private Coffee drink; private int quantity; private Milk milk; private Size size; private int id; private transient Order order; public Item(Coffee drink, int quantity, Milk milk, Size size) { this.drink = drink; this.quantity = quantity; this.milk = milk; this.size = size; } Item() { } public void use(Order order, int id) { this.order = order; this.id = id; } public Coffee getDrink() { return drink; } public void setDrink(Coffee name) { this.drink = name; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } public Milk getMilk() { return milk; } public void setMilk(Milk milk) { this.milk = milk; } public Size getSize() { return size; } public void setSize(Size size) { this.size = size; } public List<Relation> getRelations(Restfulie control) { control.relation("self").uses(ItemController.class).get(order, this); return control.getRelations(); } public int getId() { return id; } public void setId(int id) { this.id = id; } }