package com.sleepycat.persist.evolve;
import java.io.Serializable;
public abstract class Mutation implements Serializable {
private static final long serialVersionUID = -8094431582953129268L;
private String className;
private int classVersion;
private String fieldName;
Mutation(String className, int classVersion, String fieldName) {
this.className = className;
this.classVersion = classVersion;
this.fieldName = fieldName;
}
public String getClassName() {
return className;
}
public int getClassVersion() {
return classVersion;
}
public String getFieldName() {
return fieldName;
}
@Override
public boolean equals(Object other) {
if (other instanceof Mutation) {
Mutation o = (Mutation) other;
return className.equals(o.className) &&
classVersion == o.classVersion &&
((fieldName != null) ? fieldName.equals(o.fieldName)
: (o.fieldName == null));
} else {
return false;
}
}
@Override
public int hashCode() {
return className.hashCode() +
classVersion +
((fieldName != null) ? fieldName.hashCode() : 0);
}
@Override
public String toString() {
return "Class: " + className + " Version: " + classVersion +
((fieldName != null) ? (" Field: " + fieldName) : "");
}
}