/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package plate.wellmann.shop.persistence;

import java.math.BigDecimal;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.ManyToOne;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;

/**
 *
 * @author Patrick
 */
@Entity
public class Color extends AbstractEntity{
    
    @NotNull
    private BigDecimal price;
    
    @ManyToOne
    private Item item;
    
    @NotNull
    private String name;
    
    private String htmlDotStyle;
    
    private String htmlStyle;
    
    @NotNull
    @DecimalMin(value = "0", message = "Nicht unter Null")
    @DecimalMax(value = "100", message = "Nicht über Hundert")
    private BigDecimal cyan;
    
    @NotNull
    @DecimalMin(value = "0", message = "Nicht unter Null")
    @DecimalMax(value = "100", message = "Nicht über Hundert")
    private BigDecimal magenta;
    
    @NotNull
    @DecimalMin(value = "0", message = "Nicht unter Null")
    @DecimalMax(value = "100", message = "Nicht über Hundert")
    private BigDecimal yellow;
    
    @NotNull
    @DecimalMin(value = "0", message = "Nicht unter Null")
    @DecimalMax(value = "100", message = "Nicht über Hundert")
    private BigDecimal kontrast;
    
    @NotNull
    @Enumerated(EnumType.STRING)
    private ColorRoom colorRoom;
    
    @Enumerated(EnumType.STRING)
    private ColorType colorType;
    
    public enum ColorRoom {
        SKALA,
        HKS,
        PANTONE
    }
    
    public enum ColorType {
        K,
        N
    }

    public String getHtmlDotStyle() {
        return htmlDotStyle;
    }

    public void setHtmlDotStyle(String htmlDotStyle) {
        this.htmlDotStyle = htmlDotStyle;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public ColorRoom getColorRoom() {
        return colorRoom;
    }

    public void setColorRoom(ColorRoom colorRoom) {
        this.colorRoom = colorRoom;
    }

    public ColorType getColorType() {
        return colorType;
    }

    public void setColorType(ColorType colorType) {
        this.colorType = colorType;
    }

    public String getHtmlStyle() {
        return htmlStyle;
    }

    public void setHtmlStyle(String htmlStyle) {
        this.htmlStyle = htmlStyle;
    }

    public BigDecimal getCyan() {
        return cyan;
    }

    public void setCyan(BigDecimal cyan) {
        this.cyan = cyan;
    }

    public BigDecimal getMagenta() {
        return magenta;
    }

    public void setMagenta(BigDecimal magenta) {
        this.magenta = magenta;
    }

    public BigDecimal getYellow() {
        return yellow;
    }

    public void setYellow(BigDecimal yellow) {
        this.yellow = yellow;
    }

    public BigDecimal getKontrast() {
        return kontrast;
    }

    public void setKontrast(BigDecimal kontrast) {
        this.kontrast = kontrast;
    }

    public Item getItem() {
        return item;
    }

    public void setItem(Item item) {
        this.item = item;
    }
}
