package com.aconex.scrutineer;
import java.io.IOException;
import java.io.ObjectOutputStream;
import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
public class StringIdAndVersion extends AbstractIdAndVersion {
public static final IdAndVersionFactory FACTORY = StringIdAndVersionFactory.INSTANCE;
private final String id;
public StringIdAndVersion(String id, long version) {
super(version);
this.id = id;
}
public String getId() {
return id;
}
@Override
protected HashCodeBuilder appendId(HashCodeBuilder appender) {
return appender.append(id);
}
@Override
protected CompareToBuilder appendId(CompareToBuilder appender, IdAndVersion other) {
return appender.append(id, ((StringIdAndVersion) other).id);
}
@Override
protected void writeId(ObjectOutputStream objectOutputStream) throws IOException {
objectOutputStream.writeUTF(getId());
}
}