BankDetails.java
package com.tradecloud.domain.model.fec;
import com.tradecloud.domain.treasury.TreasuryBank;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Embeddable
@XmlRootElement(name = "BankDetails")
@XmlAccessorType(XmlAccessType.FIELD)
public class BankDetails implements Serializable {
@ManyToOne
@JoinColumn(name = "treasurybank_code")
private TreasuryBank treasuryBank;
@Column(name = "bank_details_dealer")
private String dealer;
/**
* for JPA use only.
*/
public BankDetails() {
}
private BankDetails(TreasuryBank treasuryBank, String dealer) {
this.treasuryBank = treasuryBank;
this.dealer = dealer;
}
public static BankDetails valueOf(TreasuryBank treasuryBank, String dealer) {
// Bank name and Dealer can be empty when creating blank fecs from deals
// Validate.notEmpty(name, "Bank Name may not be null or empty");
// Validate.notEmpty(dealer, "Bank Dealer may not be null or empty");
return new BankDetails(treasuryBank, dealer);
}
public TreasuryBank getTreasuryBank() {
return treasuryBank;
}
public String getDealer() {
return dealer;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final BankDetails other = (BankDetails) obj;
if ((this.treasuryBank == null) ? (other.treasuryBank != null) : !this.treasuryBank.equals(other.treasuryBank)) {
return false;
}
if ((this.dealer == null) ? (other.dealer != null) : !this.dealer.equals(other.dealer)) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 5;
hash = 73 * hash + (this.treasuryBank != null ? this.treasuryBank.hashCode() : 0);
return hash;
}
public void setTreasuryBank(TreasuryBank treasuryBank) {
this.treasuryBank = treasuryBank;
}
}