OrderReference.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 final class OrderReference implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "order_reference")
private String reference;
private OrderReference(String reference) {
this.reference = reference;
}
public String getReference() {
return reference;
}
public static OrderReference valueOf(String reference) {
Validate.notEmpty(reference, "Reference may not be null or empty");
return new OrderReference(reference);
}
@Override
public boolean equals(Object obj) {
return this.reference.equals(((OrderReference) obj).getReference());
}
@Override
public int hashCode() {
int hash = 7;
hash = 79 * hash + (this.reference != null ? this.reference.hashCode() : 0);
return hash;
}
/**
* Used only for hibernate.
*/
private OrderReference() {
}
@Override
public String toString() {
return reference;
}
}