OrderLetterOfCredit.java

package com.tradecloud.domain.model.ordermanagement;

import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.base.utils.ObjectUtil;
import com.tradecloud.domain.party.Bank;

import javax.persistence.*;
import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "orderletterofcredit")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "OrderLetterOfCredit")
public class OrderLetterOfCredit extends PersistenceBase implements Serializable {

    private static final long serialVersionUID = 1L;

    @Temporal(TemporalType.TIMESTAMP)
    private Date establishedDate;

    @ManyToOne
    @XmlElement(name = "Bank")
    private Bank bank;

    @XmlAttribute
    private String bankReference;

    @XmlAttribute
    private String number;

    public OrderLetterOfCredit() {
    }

    public Date getEstablishedDate() {
        return this.establishedDate;
    }

    public void setEstablishedDate(Date establishedDate) {
        this.establishedDate = establishedDate;
    }

    public Bank getBank() {
        return bank;
    }

    public void setBank(Bank bank) {
        this.bank = bank;
    }

    public String getNumber() {
        return this.number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getBankReference() {
        return this.bankReference;
    }

    public void setBankReference(String bankReference) {
        this.bankReference = bankReference;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("establishedDate=").append(establishedDate).append(",bank=").append(bank).append(",bankReference=")
                .append(bankReference).append(",number=").append(number);
        return sb.toString();
    }

    public boolean isNew() {
        return ObjectUtil.allNull(establishedDate, bank, bankReference, number);
    }
}