package be.swsb.fiazard.ordering.topping; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import javax.validation.constraints.NotNull; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.hibernate.validator.constraints.Length; import org.mongojack.MongoCollection; import org.mongojack.ObjectId; import javax.validation.constraints.NotNull; @MongoCollection(name = Topping.TOPPINGS_COLL_NAME) public class Topping { public static final String TOPPINGS_COLL_NAME = "toppings"; @NotNull private String id; @JsonProperty @NotNull @Length(max = 50) private String name; @JsonProperty @NotNull private double price; @JsonProperty @NotNull private String image; @JsonProperty @NotNull private String imageType; @JsonCreator public Topping( @ObjectId @JsonProperty("_id") String id, @JsonProperty("name") String name, @JsonProperty("price") double price, @JsonProperty("image") String image, @JsonProperty("imageType") String imageType) { this.id = id; this.name = name; this.price = price; this.image = image; this.imageType = imageType; } public String getId() { return id; } public String getName() { return name; } public double getPrice() { return price; } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } public String getImageType() { return imageType; } public String getImage() { return image; } }