/*
* This file is part of the HyperGraphDB source distribution. This is copyrighted
* software. For permitted uses, licensing options and redistribution, please see
* the LicensingInformation file at the root level of the distribution.
*
* Copyright (c) 2005-2010 Kobrix Software, Inc. All rights reserved.
*/
package org.hypergraphdb.handle;
import org.hypergraphdb.HGHandle;
import org.hypergraphdb.HGPersistentHandle;
public class DefaultLiveHandle implements HGLiveHandle
{
final protected HGPersistentHandle persistentHandle;
protected Object ref;
protected byte flags;
public DefaultLiveHandle(Object ref, HGPersistentHandle persistentHandle, byte flags)
{
this.ref = ref;
this.persistentHandle = persistentHandle;
this.flags = flags;
}
public final byte getFlags()
{
return flags;
}
public void accessed() { }
public final Object getRef()
{
return ref;
}
public final HGPersistentHandle getPersistent()
{
return persistentHandle;
}
public final boolean equals(Object other)
{
if (other == null || ! (other instanceof HGHandle))
return false;
return persistentHandle.equals(((HGHandle)other).getPersistent());
}
public final int hashCode()
{
return persistentHandle.hashCode();
}
public String toString()
{
return "defLiveHandle(" + persistentHandle.toString() + ")";
}
}