package com.salesmanager.shop.admin.model.catalog;
import com.salesmanager.core.model.catalog.product.availability.ProductAvailability;
import com.salesmanager.core.model.catalog.product.description.ProductDescription;
import com.salesmanager.core.model.catalog.product.image.ProductImage;
import com.salesmanager.core.model.catalog.product.price.ProductPrice;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class Product implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4531526676134574984L;
/**
*
*/
//provides wrapping to the main product entity
@Valid
private com.salesmanager.core.model.catalog.product.Product product;
@Valid
private List<ProductDescription> descriptions = new ArrayList<ProductDescription>();
@Valid
private ProductAvailability availability = null;
@Valid
private ProductPrice price = null;
private MultipartFile image = null;
private ProductImage productImage = null;
@NotEmpty
private String productPrice = "0";
private String dateAvailable;
private ProductDescription description = null;
public String getDateAvailable() {
return dateAvailable;
}
public void setDateAvailable(String dateAvailable) {
this.dateAvailable = dateAvailable;
}
public com.salesmanager.core.model.catalog.product.Product getProduct() {
return product;
}
public void setProduct(com.salesmanager.core.model.catalog.product.Product product) {
this.product = product;
}
public List<ProductDescription> getDescriptions() {
return descriptions;
}
public void setDescriptions(List<ProductDescription> descriptions) {
this.descriptions = descriptions;
}
public void setAvailability(ProductAvailability availability) {
this.availability = availability;
}
public ProductAvailability getAvailability() {
return availability;
}
public void setPrice(ProductPrice price) {
this.price = price;
}
public ProductPrice getPrice() {
return price;
}
public MultipartFile getImage() {
return image;
}
public void setImage(MultipartFile image) {
this.image = image;
}
public void setProductPrice(String productPrice) {
this.productPrice = productPrice;
}
public String getProductPrice() {
return productPrice;
}
public void setProductImage(ProductImage productImage) {
this.productImage = productImage;
}
public ProductImage getProductImage() {
return productImage;
}
public void setDescription(ProductDescription description) {
this.description = description;
}
public ProductDescription getDescription() {
return description;
}
}