package diskCacheV111.repository; import java.io.Serializable; import diskCacheV111.util.PnfsId; public class CacheRepositoryEntryInfo implements Serializable { private static final long serialVersionUID = -4494188511917602601L; public static final int PRECIOUS_BIT=0; public static final int CACHED_BIT=1; public static final int RECEIVINGFROMCLIENT_BIT=2; public static final int RECEIVINGFROMSTORE_BIT=3; public static final int SENDINGTOSTORE_BIT=4; public static final int BAD_BIT=5; public static final int REMOVED_BIT=6; public static final int DESTROYED_BIT=7; public static final int STICKY_BIT=8; private final PnfsId pnfsId; private final int bitmask; private final long lastAccessTime; private final long creationTime; private final long size; public CacheRepositoryEntryInfo(PnfsId pnfsId, int bitmask, long lastAccessTime, long creationTime, long size) { this.pnfsId = pnfsId; this.bitmask = bitmask; this.lastAccessTime = lastAccessTime; this.creationTime = creationTime; this.size = size; } private boolean getBit(int bitnum) { return (bitmask & (1 << bitnum)) != 0; } public int getBitMask() { return bitmask; } public boolean isPrecious() { return getBit(PRECIOUS_BIT); } public boolean isCached() { return getBit(CACHED_BIT); } public boolean isReceivingFromClient() { return getBit(RECEIVINGFROMCLIENT_BIT); } public boolean isReceivingFromStore() { return getBit(RECEIVINGFROMSTORE_BIT); } public boolean isBad() { return getBit(BAD_BIT); } public boolean isRemoved() { return getBit(REMOVED_BIT); } public boolean isDestroyed() { return getBit(DESTROYED_BIT); } public boolean isSticky() { return getBit(STICKY_BIT); } public long getCreationTime() { return creationTime; } public long getLastAccessTime() { return lastAccessTime; } public PnfsId getPnfsId() { return pnfsId; } public long getSize() { return size; } }