SecondaryKeyMetadata.java [plain text]
package com.sleepycat.persist.model;
public class SecondaryKeyMetadata extends FieldMetadata {
private static final long serialVersionUID = 8118924993396722502L;
private String keyName;
private Relationship relationship;
private String elementClassName;
private String relatedEntity;
private DeleteAction deleteAction;
public SecondaryKeyMetadata(String name,
String className,
String declaringClassName,
String elementClassName,
String keyName,
Relationship relationship,
String relatedEntity,
DeleteAction deleteAction) {
super(name, className, declaringClassName);
this.elementClassName = elementClassName;
this.keyName = keyName;
this.relationship = relationship;
this.relatedEntity = relatedEntity;
this.deleteAction = deleteAction;
}
public String getElementClassName() {
return elementClassName;
}
public String getKeyName() {
return keyName;
}
public Relationship getRelationship() {
return relationship;
}
public String getRelatedEntity() {
return relatedEntity;
}
public DeleteAction getDeleteAction() {
return deleteAction;
}
@Override
public boolean equals(Object other) {
if (other instanceof SecondaryKeyMetadata) {
SecondaryKeyMetadata o = (SecondaryKeyMetadata) other;
return super.equals(o) &&
relationship == o.relationship &&
deleteAction == o.deleteAction &&
ClassMetadata.nullOrEqual(keyName, o.keyName) &&
ClassMetadata.nullOrEqual(elementClassName,
o.elementClassName) &&
ClassMetadata.nullOrEqual(relatedEntity, o.relatedEntity);
} else {
return false;
}
}
@Override
public int hashCode() {
return super.hashCode() +
relationship.hashCode() +
deleteAction.hashCode() +
ClassMetadata.hashCode(keyName) +
ClassMetadata.hashCode(elementClassName) +
ClassMetadata.hashCode(relatedEntity);
}
}