package be.swsb.fiazard.ordering.bun; 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 org.hibernate.validator.constraints.Length; import org.mongojack.MongoCollection; import org.mongojack.ObjectId; import javax.validation.constraints.NotNull; @MongoCollection(name = Bun.BUNS_COLL_NAME) public class Bun { public static final String BUNS_COLL_NAME = "buns"; @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 Bun( @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; } public String getImage() { return image; } public String getImageType() { return imageType; } @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("id", getId()) .append("name", getName()) .append("price", getPrice()) .append("imageType", getImageType()) .toString(); } }