package org.hypergraphdb.handle;
import org.hypergraphdb.HGPersistentHandle;
import org.hypergraphdb.storage.BAUtils;
public class IntPersistentHandle implements HGPersistentHandle
{
private static final long serialVersionUID = -9186528557514443555L;
int x;
byte [] buffer = new byte[4];
public IntPersistentHandle(int value)
{
x = value;
BAUtils.writeInt(x, buffer, 0);
}
public byte[] toByteArray()
{
return buffer;
}
public int compareTo(HGPersistentHandle o)
{
return x - ((IntPersistentHandle)o).x;
}
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + x;
return result;
}
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof HGLiveHandle)
obj = ((HGLiveHandle)obj).getPersistent();
if (getClass() != obj.getClass())
return false;
IntPersistentHandle other = (IntPersistentHandle) obj;
if (x != other.x)
return false;
return true;
}
public String toString()
{
return "intHandle(" + Integer.toString(x) + ")";
}
public String toStringValue()
{
return Integer.toString(x);
}
public HGPersistentHandle getPersistent()
{
return this;
}
}