mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
This checks in the current state of WCM development.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3128 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
366
source/java/org/alfresco/repo/avm/AVMNodeDescriptor.java
Normal file
366
source/java/org/alfresco/repo/avm/AVMNodeDescriptor.java
Normal file
@@ -0,0 +1,366 @@
|
||||
/*
|
||||
* Copyright (C) 2006 Alfresco, Inc.
|
||||
*
|
||||
* Licensed under the Mozilla Public License version 1.1
|
||||
* with a permitted attribution clause. You may obtain a
|
||||
* copy of the License at
|
||||
*
|
||||
* http://www.alfresco.org/legal/license.txt
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
* either express or implied. See the License for the specific
|
||||
* language governing permissions and limitations under the
|
||||
* License.
|
||||
*/
|
||||
|
||||
package org.alfresco.repo.avm;
|
||||
|
||||
/**
|
||||
* This class describes an AVM node object.
|
||||
* It serves a similar purpose to the data structure
|
||||
* returned by the stat() system call in UNIX.
|
||||
*
|
||||
* @author britt
|
||||
*/
|
||||
public class AVMNodeDescriptor
|
||||
{
|
||||
/**
|
||||
* The path that this was looked up with.
|
||||
*/
|
||||
private String fPath;
|
||||
|
||||
/**
|
||||
* The type of this node. AVMNodeType constants.
|
||||
*/
|
||||
private int fType;
|
||||
|
||||
/**
|
||||
* The Owner.
|
||||
*/
|
||||
private String fOwner;
|
||||
|
||||
/**
|
||||
* The Creator.
|
||||
*/
|
||||
private String fCreator;
|
||||
|
||||
/**
|
||||
* The last modifier.
|
||||
*/
|
||||
private String fLastModifier;
|
||||
|
||||
/**
|
||||
* The Create date.
|
||||
*/
|
||||
private long fCreateDate;
|
||||
|
||||
/**
|
||||
* The Modification date.
|
||||
*/
|
||||
private long fModDate;
|
||||
|
||||
/**
|
||||
* The Access date.
|
||||
*/
|
||||
private long fAccessDate;
|
||||
|
||||
/**
|
||||
* The object id.
|
||||
*/
|
||||
private long fID;
|
||||
|
||||
/**
|
||||
* The version number.
|
||||
*/
|
||||
private int fVersionID;
|
||||
|
||||
/**
|
||||
* The indirection if this is a layer.
|
||||
*/
|
||||
private String fIndirection;
|
||||
|
||||
/**
|
||||
* Is this a primary indirection node.
|
||||
*/
|
||||
private boolean fIsPrimary;
|
||||
|
||||
/**
|
||||
* The layer id or -1 if this is not a layered node.
|
||||
*/
|
||||
private long fLayerID;
|
||||
|
||||
/**
|
||||
* The length, if this is a file or -1 otherwise.
|
||||
*/
|
||||
private long fLength;
|
||||
|
||||
/**
|
||||
* Make one up.
|
||||
* @param path The looked up path.
|
||||
* @param type The type of the node.
|
||||
* @param creator The creator of the node.
|
||||
* @param owner The owner of the node.
|
||||
* @param lastModifier The last modifier of the node.
|
||||
* @param createDate The creation date.
|
||||
* @param modDate The modification date.
|
||||
* @param accessDate The access date.
|
||||
* @param id The object id.
|
||||
* @param versionID The version id.
|
||||
* @param indirection The indirection.
|
||||
* @param isPrimary Whether this is a primary indirection.
|
||||
* @param layerID The layer id.
|
||||
* @param length The file length.
|
||||
*/
|
||||
public AVMNodeDescriptor(String path,
|
||||
int type,
|
||||
String creator,
|
||||
String owner,
|
||||
String lastModifier,
|
||||
long createDate,
|
||||
long modDate,
|
||||
long accessDate,
|
||||
long id,
|
||||
int versionID,
|
||||
String indirection,
|
||||
boolean isPrimary,
|
||||
long layerID,
|
||||
long length)
|
||||
{
|
||||
fPath = path;
|
||||
fType = type;
|
||||
fCreator = creator;
|
||||
fOwner = owner;
|
||||
fLastModifier = lastModifier;
|
||||
fCreateDate = createDate;
|
||||
fModDate = modDate;
|
||||
fAccessDate = accessDate;
|
||||
fID = id;
|
||||
fVersionID = versionID;
|
||||
fIndirection = indirection;
|
||||
fIsPrimary = isPrimary;
|
||||
fLayerID = layerID;
|
||||
fLength = length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last access date in java milliseconds.
|
||||
* @return The last access date.
|
||||
*/
|
||||
public long getAccessDate()
|
||||
{
|
||||
return fAccessDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the creation date in java milliseconds.
|
||||
* @return The creation date.
|
||||
*/
|
||||
public long getCreateDate()
|
||||
{
|
||||
return fCreateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the user who created this.
|
||||
* @return The creator.
|
||||
*/
|
||||
public String getCreator()
|
||||
{
|
||||
return fCreator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the indirection path if this is layered or null.
|
||||
* @return The indirection path or null.
|
||||
*/
|
||||
public String getIndirection()
|
||||
{
|
||||
return fIndirection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this a primary indirection node. Will always
|
||||
* be false for non-layered nodes.
|
||||
* @return Whether this is a primary indirection node.
|
||||
*/
|
||||
public boolean isPrimary()
|
||||
{
|
||||
return fIsPrimary;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* either a plain or layered file.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a plain or layered file,
|
||||
* otherwise false.
|
||||
*/
|
||||
public boolean isFile()
|
||||
{
|
||||
return ( fType == AVMNodeType.PLAIN_FILE ||
|
||||
fType == AVMNodeType.LAYERED_FILE
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* a plain (non-layered) file.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a plain file, otherwise false.
|
||||
*/
|
||||
public boolean isPlainFile()
|
||||
{
|
||||
return (fType == AVMNodeType.PLAIN_FILE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* a layered file.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a layered file,
|
||||
* otherwise false.
|
||||
*/
|
||||
public boolean isLayeredFile()
|
||||
{
|
||||
return (fType == AVMNodeType.LAYERED_FILE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* either a plain or layered directory.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a plain or layered directory,
|
||||
* otherwise false.
|
||||
*/
|
||||
public boolean isDirectory()
|
||||
{
|
||||
return ( fType == AVMNodeType.PLAIN_DIRECTORY ||
|
||||
fType == AVMNodeType.LAYERED_DIRECTORY
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* a plain (non-layered) directory.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a plain directory, otherwise false.
|
||||
*/
|
||||
public boolean isPlainDirectory()
|
||||
{
|
||||
return (fType == AVMNodeType.PLAIN_DIRECTORY );
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether this node corresponds to
|
||||
* a layered directory.
|
||||
*
|
||||
* @return true if AVMNodeDescriptor is a layered directory,
|
||||
* otherwise false.
|
||||
*/
|
||||
public boolean isLayeredDirectory()
|
||||
{
|
||||
return (fType == AVMNodeType.LAYERED_DIRECTORY );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the user who last modified this node.
|
||||
* @return Who last modified this node.
|
||||
*/
|
||||
public String getLastModifier()
|
||||
{
|
||||
return fLastModifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the layer id of this node.
|
||||
* @return
|
||||
*/
|
||||
public long getLayerID()
|
||||
{
|
||||
return fLayerID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the modification date of this node.
|
||||
* @return The modification date.
|
||||
*/
|
||||
public long getModDate()
|
||||
{
|
||||
return fModDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the owner of this node.
|
||||
* @return The owner of this node.
|
||||
*/
|
||||
public String getOwner()
|
||||
{
|
||||
return fOwner;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the path that this node was looked up by.
|
||||
* @return The path by which this was looked up.
|
||||
*/
|
||||
public String getPath()
|
||||
{
|
||||
return fPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type of this node. AVMNodeType constants.
|
||||
* @return The type node.
|
||||
*/
|
||||
public int getType()
|
||||
{
|
||||
return fType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the version id of this node.
|
||||
* @return The version id of this node.
|
||||
*/
|
||||
public int getVersionID()
|
||||
{
|
||||
return fVersionID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the object id.
|
||||
* @return The object id.
|
||||
*/
|
||||
public long getId()
|
||||
{
|
||||
return fID;
|
||||
}
|
||||
|
||||
public long getLength()
|
||||
{
|
||||
return fLength;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a debuggable string representation of this.
|
||||
* @return A string representation of this.
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
switch (fType)
|
||||
{
|
||||
case AVMNodeType.PLAIN_FILE :
|
||||
return "[PF:" + fID + "]";
|
||||
case AVMNodeType.PLAIN_DIRECTORY :
|
||||
return "[PD:" + fID + "]";
|
||||
case AVMNodeType.LAYERED_FILE :
|
||||
return "[LF:" + fID + ":" + fIndirection + "]";
|
||||
case AVMNodeType.LAYERED_DIRECTORY :
|
||||
return "[LD:" + fID + ":" + fIndirection + "]";
|
||||
default :
|
||||
throw new AVMException("Internal Error.");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user