mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Another lookup cache checkpoint.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4405 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
130
source/java/org/alfresco/repo/avm/LookupKey.java
Normal file
130
source/java/org/alfresco/repo/avm/LookupKey.java
Normal file
@@ -0,0 +1,130 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.alfresco.repo.avm;
|
||||
|
||||
import org.alfresco.repo.avm.util.SimplePath;
|
||||
|
||||
/**
|
||||
* This is the key by which Lookup's are retrieved from the cache.
|
||||
* @author britt
|
||||
*/
|
||||
public class LookupKey
|
||||
{
|
||||
/**
|
||||
* The name of the store.
|
||||
*/
|
||||
private String fStoreName;
|
||||
|
||||
/**
|
||||
* The path being looked up.
|
||||
*/
|
||||
private SimplePath fPath;
|
||||
|
||||
/**
|
||||
* The version being looked up.
|
||||
*/
|
||||
private int fVersion;
|
||||
|
||||
/**
|
||||
* Whether the lookup is a write lookup.
|
||||
*/
|
||||
private boolean fWrite;
|
||||
|
||||
/**
|
||||
* Whether the lookup includes deleted nodes.
|
||||
*/
|
||||
private boolean fIncludeDeleted;
|
||||
|
||||
/**
|
||||
* Create one from whole cloth.
|
||||
* @param version The version we're looking under.
|
||||
* @param path The path.
|
||||
* @param storeName The name of the store.
|
||||
* @param write Whether this is a write lookup.
|
||||
* @param includeDeleted Whether this lookup should include deleted items.
|
||||
*/
|
||||
public LookupKey(int version,
|
||||
SimplePath path,
|
||||
String storeName,
|
||||
boolean write,
|
||||
boolean includeDeleted)
|
||||
{
|
||||
fVersion = version;
|
||||
fPath = path;
|
||||
fStoreName = storeName;
|
||||
fWrite = write;
|
||||
fIncludeDeleted = includeDeleted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the writeness of this key.
|
||||
*/
|
||||
public void setWrite(boolean write)
|
||||
{
|
||||
fWrite = write;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the store name for this key.
|
||||
* @return The store name.
|
||||
*/
|
||||
public String getStoreName()
|
||||
{
|
||||
return fStoreName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this a write lookup.
|
||||
* @return Whether this is a write lookup.
|
||||
*/
|
||||
public boolean isWrite()
|
||||
{
|
||||
return fWrite;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (this == obj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof LookupKey))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
LookupKey o = (LookupKey)obj;
|
||||
return fStoreName.equals(o.fStoreName) &&
|
||||
fVersion == o.fVersion &&
|
||||
fPath.equals(o.fPath) &&
|
||||
fWrite == o.fWrite &&
|
||||
fIncludeDeleted == o.fIncludeDeleted;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
int hash = fStoreName.hashCode();
|
||||
hash += fPath.hashCode();
|
||||
hash += fVersion;
|
||||
hash += fWrite ? 1 : 0;
|
||||
hash += fIncludeDeleted ? 1 : 0;
|
||||
return hash;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return fStoreName + ":" + fPath;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user