PaymentTerm.java
package com.tradecloud.domain.model.payment;
import com.tradecloud.common.base.StaticDataEntityBase;
import com.tradecloud.domain.common.IntegratedStaticDataEntityBase;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
/**
* In blackbox again it's way too loose <paymentterm code="DAYS_14"
* name="14 Days" />.
*/
@Entity
//@Cacheable(value = "paymentterm")
@Table(name = "paymentterm", uniqueConstraints = {@UniqueConstraint(columnNames = {"code"})})
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "PaymentTerm")
public class PaymentTerm extends IntegratedStaticDataEntityBase {
/**
* UID.
*/
private static final long serialVersionUID = 3938032784741076396L;
@NotNull
@XmlAttribute
private int days;
@NotNull
@XmlAttribute
private boolean sight;
public PaymentTerm(String code, String name, int days) {
this(code, name);
this.days = days;
}
public PaymentTerm(String code, String name) {
super(code, name);
}
public PaymentTerm() {
}
public int getDays() {
return days;
}
public void setDays(int days) {
this.days = days;
}
public boolean isSight() {
return sight;
}
public void setSight(boolean sight) {
this.sight = sight;
}
@Override
public int compareTo(StaticDataEntityBase o) {
PaymentTerm other = (PaymentTerm) o;
return getDays() - other.getDays();
}
}