DealCreationPointConfig.java
package com.tradecloud.domain.configuration;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.model.ForexGroup;
import com.tradecloud.domain.model.deal.DealAcceptancePoint;
import com.tradecloud.domain.model.deal.DealCreationPoint;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Entity
@Table(name = "dealcreationpointconfig",
uniqueConstraints = {@UniqueConstraint(columnNames = {"division_id", "forexgroup_id"})})
@Access(AccessType.FIELD)
public class DealCreationPointConfig extends PersistenceBase {
@ManyToOne(fetch = FetchType.EAGER)
@NotNull(message = "Division is required")
private OrganisationalUnit division;
@ManyToOne(fetch = FetchType.EAGER)
@NotNull(message = "Forex group is required")
private ForexGroup forexGroup;
@NotNull(message = "Deal creation point is required")
@Enumerated(EnumType.STRING)
private DealCreationPoint dealCreationPoint;
@Enumerated(EnumType.STRING)
private DealAcceptancePoint dealAcceptancePoint;
@NotNull(message = "UseEstimateOnActual is required")
private boolean useEstimateOnActual;
public DealCreationPointConfig() {
}
public OrganisationalUnit getDivision() {
return division;
}
public DealCreationPointConfig(DealCreationPoint dealCreationPoint,
OrganisationalUnit division, ForexGroup forexGroup,
DealAcceptancePoint dealAcceptancePoint, boolean useEstimateRateOnActual) {
this.dealCreationPoint = dealCreationPoint;
this.division = division;
this.forexGroup = forexGroup;
this.dealAcceptancePoint = dealAcceptancePoint;
this.useEstimateOnActual = useEstimateRateOnActual;
}
public void setDivision(OrganisationalUnit division) {
this.division = division;
}
public ForexGroup getForexGroup() {
return forexGroup;
}
public void setForexGroup(ForexGroup forexGroup) {
this.forexGroup = forexGroup;
}
public DealAcceptancePoint getDealAcceptancePoint() {
return dealAcceptancePoint;
}
public void setDealAcceptancePoint(DealAcceptancePoint dealAcceptancePoint) {
this.dealAcceptancePoint = dealAcceptancePoint;
}
public DealCreationPoint getDealCreationPoint() {
return dealCreationPoint;
}
public void setDealCreationPoint(DealCreationPoint dealCreationPoint) {
this.dealCreationPoint = dealCreationPoint;
}
public boolean isUseEstimateOnActual() {
return useEstimateOnActual;
}
public void setUseEstimateOnActual(boolean useEstimateOnActual) {
this.useEstimateOnActual = useEstimateOnActual;
}
// TODO. Use EqualsBuilder
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (!super.equals(obj)) return false;
if (obj == null || getClass() != obj.getClass()) return false;
DealCreationPointConfig other = (DealCreationPointConfig) obj;
if (division != null ? !division.equals(other.division) : other.division != null) return false;
if (forexGroup != null ? !forexGroup.equals(other.forexGroup) : other.forexGroup != null) return false;
return true;
}
@Override
public String toString() {
return "DealCreationPointConfig{" +
"dealAcceptancePoint=" + dealAcceptancePoint +
", division=" + division +
", forexGroup=" + forexGroup +
", dealCreationPoint=" + dealCreationPoint +
", useEstimateOnActual=" + useEstimateOnActual +
'}';
}
// TODO. Use HashCodeBuilder
@Override
public int hashCode() {
int result = division != null ? division.hashCode() : 0;
result = 31 * result + (forexGroup != null ? forexGroup.hashCode() : 0);
return result;
}
}