Volume: 6 Issue: 4
Best
Practices For Writing EJB Applications, by Sandra Emerson, Michael Girdley &
Rob Woollen
Listing
1
public final class EmployeePK implements java.io.Serializable {
public String lastName;
public String firstName;
public int officeNumber;
private int hash = -1;
public EmployeePK() {}
public int hashCode() {
if (hash == -1) {
hash = lastName.hashCode() ^ firstName.hashCode()
^ officeNumber;
}
return hash;
}
public boolean equals(Object o) {
if (o == this) return true;
if (o instanceof EmployeePK) {
EmployeePK other = (EmployeePK) o;
return other.hashCode() == hashCode() &&
other.officeNumber == officeNumber
&&
other.lastName.equals(lastName)
&&
other.firstName.equals(firstName);
} else {
return false;
}
}
}