RateSourceConfig.java
package com.tradecloud.domain.configuration;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.costing.CostGroup;
import com.tradecloud.domain.rate.RateSourceType;
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;
@Entity
@Table(name = "RateSourceConfig", uniqueConstraints = {@UniqueConstraint(columnNames = {"costGroup"})})
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "RateSourceConfig")
public class RateSourceConfig extends PersistenceBase implements Comparable<RateSourceConfig> {
@Enumerated(value = EnumType.STRING)
@XmlAttribute
@NotNull
private CostGroup costGroup;
@Enumerated(value = EnumType.STRING)
@XmlAttribute
@NotNull
private RateSourceType clcRateSource;
/**
* The source of the ALC rate. Defaults to
* {@link RateSourceType#TREASURY_LINKED_RATE}.
*/
@Enumerated(value = EnumType.STRING)
@XmlAttribute
@NotNull
private RateSourceType alcRateSource;
public CostGroup getCostGroup() {
return costGroup;
}
public void setCostGroup(CostGroup costGroup) {
this.costGroup = costGroup;
}
public RateSourceType getClcRateSource() {
return clcRateSource;
}
public void setClcRateSource(RateSourceType clcRateSource) {
this.clcRateSource = clcRateSource;
}
public RateSourceType getAlcRateSource() {
return alcRateSource;
}
public void setAlcRateSource(RateSourceType alcRateSource) {
this.alcRateSource = alcRateSource;
}
@Override
public int compareTo(RateSourceConfig o) {
return costGroup.compareTo(o.getCostGroup());
}
}