|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.file.CmsResource
Base class for all OpenCms VFS resources like
or CmsFile
.CmsFolder
Field Summary | |
static java.util.Comparator |
COMPARE_DATE_RELEASED
A comparator for the release date of 2 resources. |
static java.util.Comparator |
COMPARE_ROOT_PATH
A comparator for the root path of 2 resources. |
static java.util.Comparator |
COMPARE_ROOT_PATH_IGNORE_CASE
A comparator for the root path of 2 resources ignoring case differences. |
static java.util.Comparator |
COMPARE_ROOT_PATH_IGNORE_CASE_FOLDERS_FIRST
A comparator for the root path of 2 resources ignoring case differences, putting folders before files. |
static int |
COPY_AS_NEW
Copy mode for copy resources as new resource. |
static int |
COPY_AS_SIBLING
Copy mode for copy resources as sibling. |
static int |
COPY_PRESERVE_SIBLING
Copy mode to preserve siblings during copy. |
static long |
DATE_EXPIRED_DEFAULT
The default expiration date of a resource (which is: never expires). |
static long |
DATE_RELEASED_DEFAULT
The default release date of a resource (which is: always released). |
static int |
DELETE_PRESERVE_SIBLINGS
Signals that siblings of this resource should not be deleted. |
static int |
DELETE_REMOVE_SIBLINGS
Signals that siblings of this resource should be deleted. |
static int |
FLAG_INTERNAL
Flag to indicate that this is an internal resource, that can't be accessed directly. |
static int |
FLAG_LABELED
The resource is linked inside a site folder specified in the OpenCms configuration. |
static int |
FLAG_TEMPFILE
Flag to indicate that this is a temporary resource. |
protected int |
m_length
The size of the content. |
static java.lang.String |
NAME_CONSTRAINTS
The name constraints when generating new resources. |
static int |
STATE_CHANGED
Indicates if a resource has been changed in the offline version when compared to the online version. |
static int |
STATE_DELETED
Indicates if a resource has been deleted in the offline version when compared to the online version. |
static int |
STATE_KEEP
Special state value that indicates the current state must be kept on a resource, this value must never be written to the database. |
static int |
STATE_NEW
Indicates if a resource is new in the offline version when compared to the online version. |
static int |
STATE_UNCHANGED
Indicates if a resource is unchanged in the offline version when compared to the online version. |
static long |
TOUCH_DATE_UNCHANGED
Flag for leaving a date unchanged during a touch operation. |
static java.lang.String |
VFS_FOLDER_CHANNELS
The vfs path of the channel folder. |
static java.lang.String |
VFS_FOLDER_SITES
The vfs path of the sites master folder. |
static java.lang.String |
VFS_FOLDER_SYSTEM
The vfs path of the system folder. |
Constructor Summary | |
CmsResource(CmsUUID structureId,
CmsUUID resourceId,
java.lang.String rootPath,
int type,
boolean isFolder,
int flags,
int projectId,
int state,
long dateCreated,
CmsUUID userCreated,
long dateLastModified,
CmsUUID userLastModified,
long dateReleased,
long dateExpired,
int linkCount,
int size)
Constructor, creates a new CmsRecource object. |
Method Summary | |
static void |
checkResourceName(java.lang.String name)
Checks if the provided resource name is a valid resource name, that is contains only valid characters. |
java.lang.Object |
clone()
Returns a clone of this Objects instance. |
int |
compareTo(java.lang.Object obj)
|
boolean |
equals(java.lang.Object obj)
|
long |
getDateCreated()
Returns the date of the creation of this resource. |
long |
getDateExpired()
Returns the expiration date this resource. |
long |
getDateLastModified()
Returns the date of the last modification of this resource. |
long |
getDateReleased()
Returns the release date this resource. |
int |
getFlags()
Returns the flags of this resource. |
static java.lang.String |
getFolderPath(java.lang.String resource)
Returns the folder path of the resource with the given name, if the resource is a folder (i.e. ends with a "/"), the complete path of the folder is returned (not the parent folder path). |
int |
getLength()
Returns the length of the resource. |
java.lang.String |
getName()
Returns the name of this resource, e.g. |
static java.lang.String |
getName(java.lang.String resource)
Returns the name of a resource without the path information. |
static java.lang.String |
getParentFolder(java.lang.String resource)
Returns the absolute parent folder name of a resource. |
static int |
getPathLevel(java.lang.String resource)
Returns the directory level of a resource. |
static java.lang.String |
getPathPart(java.lang.String resource,
int level)
Returns the name of a parent folder of the given resource, that is either minus levels up from the current folder, or that is plus levels down from the root folder. |
int |
getProjectLastModified()
Returns the id of the project where the resource has been last modified. |
CmsUUID |
getResourceId()
Returns the id of the resource database entry of this resource. |
java.lang.String |
getRootPath()
Returns the name of a resource with it's full path from the root folder including the current site root, for example /sites/default/myfolder/index.html . |
int |
getSiblingCount()
Returns the number of siblings of the resource, also counting this resource. |
int |
getState()
Returns the state of this resource. |
CmsUUID |
getStructureId()
Returns the id of the structure record of this resource. |
int |
getTypeId()
Returns the resource type id for this resource. |
CmsUUID |
getUserCreated()
Returns the user id of the user who created this resource. |
CmsUUID |
getUserLastModified()
Returns the user id of the user who made the last change on this resource. |
int |
hashCode()
|
boolean |
isFile()
Returns true if the resource is a file, i.e. can have no sub-resources. |
boolean |
isFolder()
Returns true if the resource is a folder, i.e. can have sub-resources. |
static boolean |
isFolder(java.lang.String resource)
Returns true if the resource name is a folder name, i.e. ends with a "/". |
boolean |
isInternal()
Checks if the resource is internal. |
boolean |
isLabeled()
Checks if the link has to be labeled with a special icon in the explorer view. |
boolean |
isTouched()
Returns true if this resource was touched. |
void |
setDateExpired(long time)
Sets the expiration date this resource. |
void |
setDateLastModified(long time)
Sets the date of the last modification of this resource. |
void |
setDateReleased(long time)
Sets the release date this resource. |
void |
setFlags(int flags)
Sets the flags of this resource. |
void |
setState(int state)
Sets the state of this resource. |
void |
setType(int type)
Sets the type of this resource. |
void |
setUserLastModified(CmsUUID resourceLastModifiedByUserId)
Sets the user id of the user who changed this resource. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final java.util.Comparator COMPARE_DATE_RELEASED
If the release date of a resource is not set, the creation date is used instead.
public static final java.util.Comparator COMPARE_ROOT_PATH
public static final java.util.Comparator COMPARE_ROOT_PATH_IGNORE_CASE
public static final java.util.Comparator COMPARE_ROOT_PATH_IGNORE_CASE_FOLDERS_FIRST
public static final int COPY_AS_NEW
public static final int COPY_AS_SIBLING
public static final int COPY_PRESERVE_SIBLING
public static final long DATE_EXPIRED_DEFAULT
public static final long DATE_RELEASED_DEFAULT
public static final int DELETE_PRESERVE_SIBLINGS
public static final int DELETE_REMOVE_SIBLINGS
public static final int FLAG_INTERNAL
public static final int FLAG_LABELED
public static final int FLAG_TEMPFILE
public static final java.lang.String NAME_CONSTRAINTS
public static final int STATE_CHANGED
public static final int STATE_DELETED
public static final int STATE_KEEP
public static final int STATE_NEW
public static final int STATE_UNCHANGED
public static final long TOUCH_DATE_UNCHANGED
public static final java.lang.String VFS_FOLDER_CHANNELS
public static final java.lang.String VFS_FOLDER_SITES
public static final java.lang.String VFS_FOLDER_SYSTEM
protected int m_length
Constructor Detail |
public CmsResource(CmsUUID structureId, CmsUUID resourceId, java.lang.String rootPath, int type, boolean isFolder, int flags, int projectId, int state, long dateCreated, CmsUUID userCreated, long dateLastModified, CmsUUID userLastModified, long dateReleased, long dateExpired, int linkCount, int size)
structureId
- the id of this resources structure recordresourceId
- the id of this resources resource recordrootPath
- the root path to the resourcetype
- the type of this resourceisFolder
- must be true if thr resource is a folder, or false if it is a fileflags
- the flags of this resourceprojectId
- the project id this resource was last modified instate
- the state of this resourcedateCreated
- the creation date of this resourceuserCreated
- the id of the user who created this resourcedateLastModified
- the date of the last modification of this resourceuserLastModified
- the id of the user who did the last modification of this resourcedateReleased
- the release date of this resourcedateExpired
- the expiration date of this resourcelinkCount
- the count of all siblings of this resourcesize
- the size of the file content of this resourceMethod Detail |
public static void checkResourceName(java.lang.String name) throws CmsIllegalArgumentException
A resource name can only be composed of digits,
standard ASCII letters and the symbols defined in NAME_CONSTRAINTS
.
A resource name must also not contain only dots.
name
- the resource name to check
CmsIllegalArgumentException
- if the given resource name is not validpublic static java.lang.String getFolderPath(java.lang.String resource)
This is achived by just cutting of everthing behind the last occurence of a "/" character
in the String, no check if performed if the resource exists or not in the VFS,
only resources that end with a "/" are considered to be folders.
Example: Returns /system/def/
for the
resource /system/def/file.html
and
/system/def/
for the (folder) resource /system/def/
.
resource
- the name of a resource
public static java.lang.String getName(java.lang.String resource)
The resource name of a file is the name of the file.
The resource name of a folder is the folder name with trailing "/".
The resource name of the root folder is /
.
Example: /system/workplace/
has the resource name workplace/
.
resource
- the resource to get the name for
public static java.lang.String getParentFolder(java.lang.String resource)
The parent resource of a file is the folder of the file.
The parent resource of a folder is the parent folder.
The parent resource of the root folder is null
.
Example: /system/workplace/
has the parent /system/
.
resource
- the resource to find the parent folder for
null
for the root folderpublic static int getPathLevel(java.lang.String resource)
The root folder "/" has level 0, a folder "/foo/" would have level 1, a folfer "/foo/bar/" level 2 etc.
resource
- the resource to determin the directory level for
public static java.lang.String getPathPart(java.lang.String resource, int level)
resource
- the name of a resourcelevel
- of levels to walk up or down
public static boolean isFolder(java.lang.String resource)
resource
- the resource to check
public java.lang.Object clone()
public int compareTo(java.lang.Object obj)
compareTo
in interface java.lang.Comparable
Comparable.compareTo(java.lang.Object)
public boolean equals(java.lang.Object obj)
Object.equals(java.lang.Object)
public long getDateCreated()
public long getDateExpired()
public long getDateLastModified()
public long getDateReleased()
public int getFlags()
public int getLength()
If the resource is a file, then this is the byte size of the file content. If the resource is a folder, then the size is always -1.
public java.lang.String getName()
index.html
.
public int getProjectLastModified()
public CmsUUID getResourceId()
public java.lang.String getRootPath()
/sites/default/myfolder/index.html
.
In a presentation level application usually the current site root must be
cut of from the root path. Use CmsObject.getSitePath(CmsResource)
to get the "absolute" path of a resource in the current site.
CmsObject.getSitePath(CmsResource)
,
CmsRequestContext.getSitePath(CmsResource)
,
CmsRequestContext.removeSiteRoot(String)
public int getSiblingCount()
If a resource has no sibling, the total sibling count for this resource is 1
,
if a resource has n
siblings, the sibling count is n + 1
.
public int getState()
This may be STATE_UNCHANGED, STATE_CHANGED, STATE_NEW or STATE_DELETED.
public CmsUUID getStructureId()
public int getTypeId()
public CmsUUID getUserCreated()
public CmsUUID getUserLastModified()
public int hashCode()
Object.hashCode()
public boolean isFile()
true
if the resource is a file, i.e. can have no sub-resources.
public boolean isFolder()
true
if the resource is a folder, i.e. can have sub-resources.
public boolean isInternal()
This state is stored as bit 1 in the resource flags.
public boolean isLabeled()
This state is stored as bit 2 in the resource flags.
public boolean isTouched()
public void setDateExpired(long time)
time
- the date to setpublic void setDateLastModified(long time)
time
- the date to setpublic void setDateReleased(long time)
time
- the date to setpublic void setFlags(int flags)
flags
- int value with flag values to setpublic void setState(int state)
state
- the state to setpublic void setType(int type)
type
- the type to setpublic void setUserLastModified(CmsUUID resourceLastModifiedByUserId)
resourceLastModifiedByUserId
- the user id of the user who changed the resourcepublic java.lang.String toString()
Object.toString()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |