package be.swsb.fiazard.ordering.orderedorders;
import be.swsb.fiazard.ordering.bun.Bun;
import be.swsb.fiazard.ordering.condiment.Condiment;
import be.swsb.fiazard.ordering.topping.Topping;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.util.Date;
import java.util.List;
public class Order {
public static final String ORDERS_COLL_NAME = "Orders";
private Bun bun;
private List<Topping> toppings;
private List<Condiment> condiments;
private Date orderedOn;
@JsonCreator
public Order(
@JsonProperty("bun") Bun bun,
@JsonProperty("toppings") List<Topping> toppings,
@JsonProperty("condiments") List<Condiment> condiments,
@JsonProperty("orderedOn") Date orderedOn) {
this.bun = bun;
this.toppings = toppings;
this.condiments = condiments;
this.orderedOn = orderedOn;
}
public Bun getBun() {
return bun;
}
public List<Topping> getToppings() {
return toppings;
}
public List<Condiment> getCondiments() {
return condiments;
}
public Date getOrderedOn() {
return orderedOn;
}
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("bun", getBun())
.append("toppings", getToppings())
.append("condiments", getCondiments())
.append("orderedOn", getOrderedOn())
.toString();
}
}