ECOM/ProductBean
Jump to navigation
Jump to search
package ecom.ejb; import java.io.Serializable; import java.math.BigDecimal; import javax.persistence.*; @Entity @Table(name = "PRODUCT") public final class ProductBean implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long sku; @Column(nullable = false) private String name; private String description; @Column(nullable = false) private BigDecimal price; // MIME type TODO Bean Validation private String mediaType; @Lob @Basic(fetch = FetchType.LAZY) @Column(name = "MEDIACONTENT") private byte[] media; public ProductBean(long sku, String name, String description, BigDecimal price, String mediaType, byte[] media) { this.sku = sku; this.name = name; this.description = description; this.price = price; this.mediaType = mediaType; this.media = media; } public long getSku() { return sku; } public void setSku(long sku) { this.sku = sku; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public byte[] getMedia() { return media; } public void setMedia(byte[] media) { this.media = media; } public String getMediaType() { return mediaType; } public void setMediaType(String mediaType) { this.mediaType = mediaType; } public BigDecimal getPrice() { return new BigDecimal(price.doubleValue()); } public void setPrice(BigDecimal price) { this.price = new BigDecimal(price.doubleValue()); } @Override public String toString() { // JSON format return "{" + "'type'='Product'," + "'sku'=" + sku + ", 'name'='" + name + '\'' + ", 'description'='" + description + '\'' + ", 'mediaType'='" + mediaType + '\'' + ", 'mediaSize'='" + ((media != null) ? media.length : 0) + '\'' + ", 'price'=" + price + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ProductBean)) return false; ProductBean product = (ProductBean) o; if (sku != product.sku) return false; if (name != null ? !name.equals(product.name) : product.name != null) return false; return true; } }