InvoiceReference.java
package com.tradecloud.domain.model.deal;
import org.apache.commons.lang.Validate;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.io.Serializable;
@Embeddable
public class InvoiceReference implements Serializable {
@Column(name = "invoice_reference")
private String reference;
/**
* For JPA.
*/
public InvoiceReference() {
}
public static InvoiceReference valueOf(String reference) {
Validate.notEmpty(reference, "Reference may not be null or empty");
return new InvoiceReference(reference);
}
private InvoiceReference(String reference) {
this.reference = reference;
}
public String getReference() {
return reference;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final InvoiceReference other = (InvoiceReference) obj;
if ((this.reference == null) ? (other.reference != null) : !this.reference.equals(other.reference)) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 3;
hash = 79 * hash + (this.reference != null ? this.reference.hashCode() : 0);
return hash;
}
}