ProductLimitation.java 2.59 KB
package fi.codecrew.moya.model;

import java.math.BigDecimal;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Lob;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

@Entity
@Table(name = "product_limitations")
public class ProductLimitation extends GenericEntity {

    /**
     * 
     */
    private static final long serialVersionUID = 1373535658851118597L;

	public ProductLimitationType[] getAvailableTypes()
	{
		return ProductLimitationType.values();
	}

    @Enumerated(EnumType.STRING)
    @Column(nullable = false)
    private ProductLimitationType type;

    @Column(nullable = false)
    private boolean last = false;

    private String name;
    @Lob
    private String description;

    @Column(nullable = false)
    private Integer sort = 100;

    @ManyToMany(mappedBy = "productLimits")
    private List<Product> products;

    @Column(nullable = true, precision = 24, scale = 4)
    private BigDecimal upperLimit;
    @Column(nullable = true, precision = 24, scale = 4)
    private BigDecimal lowerLimit;

    @ManyToMany()
    private List<Role> matchingRoles;

    public ProductLimitationType getType() {
        return type;
    }

    public void setType(ProductLimitationType type) {
        this.type = type;
    }

    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 Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public List<Product> getProducts() {
        return products;
    }

    public void setProducts(List<Product> products) {
        this.products = products;
    }

    public BigDecimal getUpperLimit() {
        return upperLimit;
    }

    public void setUpperLimit(BigDecimal upperLimit) {
        this.upperLimit = upperLimit;
    }

    public BigDecimal getLowerLimit() {
        return lowerLimit;
    }

    public void setLowerLimit(BigDecimal lowerLimit) {
        this.lowerLimit = lowerLimit;
    }

    public List<Role> getMatchingRoles() {
        return matchingRoles;
    }

    public void setMatchingRoles(List<Role> matchingRoles) {
        this.matchingRoles = matchingRoles;
    }

	public boolean getLast() {
		return last;
	}

	public void setLast(boolean last) {
		this.last = last;
	}

}