ShippingReference.java

package com.tradecloud.domain.model.deal;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.io.Serializable;

/**
 * This is the shipping reference on an order (user entered value, or generated), stored on the Deal.
 * This is *NOT* the Shipment Reference, which is the reference on the shipment.
 */
@Embeddable
public class ShippingReference implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(name = "shippingreference")
    private String reference;

    public ShippingReference() {
    }

    public ShippingReference(String reference) {
        this.reference = reference;
    }

    public String getReference() {
        return reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        ShippingReference that = (ShippingReference) o;

        if (reference != null)
            return reference.equals(that.reference);

        return true;
    }

    @Override
    public int hashCode() {
        return reference != null ? reference.hashCode() : 0;
    }

    @Override
    public String toString() {
        return reference;
    }
}