Open Source Repository

Home /hibernate/hibernate-3.2.4.ga | Repository Home



org/hibernate/engine/AssociationKey.java
//$Id: AssociationKey.java 7458 2005-07-12 20:12:57Z oneovthafew $
package org.hibernate.engine;

import java.io.Serializable;

/**
 * Identifies a named association belonging to a particular
 * entity instance. Used to record the fact that an association
 * is null during loading.
 
 @author Gavin King
 */
final class AssociationKey implements Serializable {
  private EntityKey ownerKey;
  private String propertyName;
  
  public AssociationKey(EntityKey ownerKey, String propertyName) {
    this.ownerKey = ownerKey;
    this.propertyName = propertyName;
  }
  
  public boolean equals(Object that) {
    AssociationKey key = (AssociationKeythat;
    return key.propertyName.equals(propertyName&& 
      key.ownerKey.equals(ownerKey);
  }
  
  public int hashCode() {
    return ownerKey.hashCode() + propertyName.hashCode();
  }
}