package org.jboss.tm;
public class LocalId
implements java.io.Externalizable
{
static final long serialVersionUID = 2076780468014328911L;
private long value;
public static void toByteArray(long localIdValue, byte[] dst, int dstBegin)
{
dst[dstBegin + 0] = (byte)(0xff & (localIdValue >>> 56));
dst[dstBegin + 1] = (byte)(0xff & (localIdValue >>> 48));
dst[dstBegin + 2] = (byte)(0xff & (localIdValue >>> 40));
dst[dstBegin + 3] = (byte)(0xff & (localIdValue >>> 32));
dst[dstBegin + 4] = (byte)(0xff & (localIdValue >>> 24));
dst[dstBegin + 5] = (byte)(0xff & (localIdValue >>> 16));
dst[dstBegin + 6] = (byte)(0xff & (localIdValue >>> 8));
dst[dstBegin + 7] = (byte)(0xff & (localIdValue >>> 0));
}
public static long fromByteArray(byte[] src, int srcBegin)
{
return ((long)(src[srcBegin + 0] & 0xff) << 56)
| ((long)(src[srcBegin + 1] & 0xff) << 48)
| ((long)(src[srcBegin + 2] & 0xff) << 40)
| ((long)(src[srcBegin + 3] & 0xff) << 32)
| ((long)(src[srcBegin + 4] & 0xff) << 24)
| ((long)(src[srcBegin + 5] & 0xff) << 16)
| ((long)(src[srcBegin + 6] & 0xff) << 8)
| ((long)(src[srcBegin + 7] & 0xff));
}
public LocalId()
{
}
public LocalId(long value)
{
this.value = value;
}
public LocalId(XidImpl xid)
{
this(xid.getLocalIdValue());
}
public long getValue()
{
return value;
}
public boolean equals(Object obj)
{
return (obj instanceof LocalId) ? (value == ((LocalId)obj).value)
: false;
}
public int hashCode()
{
return (int)value;
}
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
{
out.writeLong(value);
}
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException, ClassNotFoundException
{
value = in.readLong();
}
}