Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.opencms.file
Class CmsResourceTypeLink  view CmsResourceTypeLink download CmsResourceTypeLink.java

java.lang.Object
  extended bycom.opencms.file.CmsResourceTypePlain
      extended bycom.opencms.file.CmsResourceTypeLink
All Implemented Interfaces:
com.opencms.core.I_CmsConstants, I_CmsResourceType, java.io.Serializable

public class CmsResourceTypeLink
extends CmsResourceTypePlain

Implementation of a resource type for links between resources in the virtual file system (VFS). A VFS link is nothing else but a text file of a certain resource type. The content of this file is the name/path of the target resource of the link, including the site root (which is at least "/default/vfs/").

VFS links and their target resources are tracked by the RESOURCE_FLAGS table attribute. Each VFS link saves there the ID of it's target resource. Each resource that has VFS links saves the count of it's VFS links (to fix wheter it has VFS links at all or not).

All resource types are created by the factory getResourceType() in CmsObject.

Version:
$Revision: 1.10 $

Field Summary
static java.lang.String C_TYPE_RESOURCE_NAME
          The name of the resource type node in registry.xml to read the general configurations for VFS links.
private static int DEBUG
           
 
Fields inherited from class com.opencms.file.CmsResourceTypePlain
 
Fields inherited from interface com.opencms.core.I_CmsConstants
C_ACCESS_DEFAULT_FLAGS, C_ACCESS_GROUP, C_ACCESS_GROUP_READ, C_ACCESS_GROUP_VISIBLE, C_ACCESS_GROUP_WRITE, C_ACCESS_INTERNAL_READ, C_ACCESS_OWNER, C_ACCESS_OWNER_READ, C_ACCESS_OWNER_VISIBLE, C_ACCESS_OWNER_WRITE, C_ACCESS_PUBLIC, C_ACCESS_PUBLIC_READ, C_ACCESS_PUBLIC_VISIBLE, C_ACCESS_PUBLIC_WRITE, C_ACCESS_READ, C_ACCESS_VISIBLE, C_ACCESS_WRITE, C_ADDITIONAL_INFO_EXPLORERSETTINGS, C_ADDITIONAL_INFO_PREFERENCES, C_ADDITIONAL_INFO_STARTSETTINGS, C_ADDITIONAL_INFO_TASKSETTINGS, C_ADDITIONAL_INFO_TOWN, C_ADDITIONAL_INFO_ZIPCODE, C_AT_LEAST_ONCE, C_CLUSTERURL, C_CONFIGURATION_CACHE, C_CONFIGURATION_CLASS, C_CONFIGURATION_REGISTRY, C_CONFIGURATION_RESOURCEBROKER, C_COPYRIGHT, C_DEFAULT_SITE, C_DELETE_HISTORY, C_ENABLE_HISTORY, C_ERRPREFIX, C_ERRSPERATOR, C_EXPORT_TAG_ACCESS, C_EXPORT_TAG_ADDRESS, C_EXPORT_TAG_CREATOR, C_EXPORT_TAG_DATE, C_EXPORT_TAG_DEFAULTGROUP, C_EXPORT_TAG_DESCRIPTION, C_EXPORT_TAG_DESTINATION, C_EXPORT_TAG_EMAIL, C_EXPORT_TAG_EXPORT, C_EXPORT_TAG_FILE, C_EXPORT_TAG_FIRSTNAME, C_EXPORT_TAG_FLAGS, C_EXPORT_TAG_GROUP, C_EXPORT_TAG_GROUPDATA, C_EXPORT_TAG_GROUPNAME, C_EXPORT_TAG_INFO, C_EXPORT_TAG_LASTMODIFIED, C_EXPORT_TAG_LASTNAME, C_EXPORT_TAG_LAUNCHER_START_CLASS, C_EXPORT_TAG_MODULEXPORT, C_EXPORT_TAG_NAME, C_EXPORT_TAG_OC_VERSION, C_EXPORT_TAG_PARENTGROUP, C_EXPORT_TAG_PASSWORD, C_EXPORT_TAG_PROJECT, C_EXPORT_TAG_PROPERTIES, C_EXPORT_TAG_PROPERTY, C_EXPORT_TAG_RECOVERYPASSWORD, C_EXPORT_TAG_SECTION, C_EXPORT_TAG_SOURCE, C_EXPORT_TAG_TYPE, C_EXPORT_TAG_USER, C_EXPORT_TAG_USERDATA, C_EXPORT_TAG_USERGROUPDATA, C_EXPORT_TAG_USERGROUPS, C_EXPORT_TAG_USERINFO, C_EXPORT_TAG_VALUE, C_EXPORT_TAG_VERSION, C_EXPORT_VERSION, C_EXPORT_XMLFILENAME, C_EXPORTONLYFILES, C_EXPORTONLYUSERS, C_EXPORTPOINT, C_EXPORTPOINT_PATH, C_EXPORTUSERSFILES, C_FCONTENT, C_FELEMENT, C_FILE, C_FILECONTENT, C_FILES_IMPORTED, C_FLAG_DISABLED, C_FLAG_ENABLED, C_FLAG_GROUP_PROJECTCOWORKER, C_FLAG_GROUP_PROJECTMANAGER, C_FLAG_GROUP_ROLE, C_FOLDER, C_FOLDER_SEPARATOR, C_GROUP, C_GROUP_ADMIN, C_GROUP_GUEST, C_GROUP_PROJECTLEADER, C_GROUP_USERS, C_LINKCHECKTABLE_DATE, C_MAX_LENGTH_RESOURCE_NAME, C_MODULE_PROPERTY_ADDITIONAL_RESOURCES, C_MODULE_PROPERTY_ADDITIONAL_RESOURCES_SEPARATOR, C_MODUS_AUTO, C_MODUS_EXPORT, C_MODUS_EXTERN, C_MODUS_OFFLINE, C_MODUS_ONLINE, C_MOUNTPOINT_FILESYSTEM, C_MOUNTPOINT_MYSQL, C_NEVER, C_NO_FILES_IMPORTED, C_ORDER_AGENTUSER, C_ORDER_ENDTIME, C_ORDER_ID, C_ORDER_INITIATORUSER, C_ORDER_NAME, C_ORDER_ORIGINALUSER, C_ORDER_PERCENTAGE, C_ORDER_PRIORITY, C_ORDER_ROLE, C_ORDER_STARTTIME, C_ORDER_STATE, C_ORDER_TASKTYPE, C_ORDER_TIMEOUT, C_ORDER_WAKEUPTIME, C_PASSWORD_MINIMUMSIZE, C_PROJECT_ONLINE, C_PROJECT_ONLINE_ID, C_PROJECT_STATE_ARCHIVE, C_PROJECT_STATE_INVISIBLE, C_PROJECT_STATE_LOCKED, C_PROJECT_STATE_UNLOCKED, C_PROJECT_TYPE_INVISIBLE, C_PROJECT_TYPE_NORMAL, C_PROJECT_TYPE_TEMPORARY, C_PROPERTY_ACTIV, C_PROPERTY_CHANNELID, C_PROPERTY_CONTENT_ENCODING, C_PROPERTY_DEFAULT_FILE, C_PROPERTY_DESCRIPTION, C_PROPERTY_EXPORT, C_PROPERTY_EXPORTNAME, C_PROPERTY_KEYWORDS, C_PROPERTY_NAVPOS, C_PROPERTY_NAVTEXT, C_PROPERTY_RELATIVEROOT, C_PROPERTY_TEMPLATETYPE, C_PROPERTY_TITLE, C_PROPERTY_VISIBLE, C_PUBLISH_METHOD_LINK, C_REGISTRY_DESTINATION, C_REGISTRY_HISTORY, C_REGISTRY_KNOWNLAUNCHERS, C_REGISTRY_LAUNCHER, C_REGISTRY_SOURCE, C_REQUEST_CONSOLE, C_REQUEST_HTTP, C_RESPONSE_CONSOLE, C_RESPONSE_HTTP, C_ROOT, C_ROOT_TEMPLATE_NAME, C_ROOTNAME_COS, C_ROOTNAME_VFS, C_SESSION_ADMIN_POS, C_SESSION_BROADCASTMESSAGE, C_SESSION_CONTENT_ENCODING, C_SESSION_CURRENTGROUP, C_SESSION_DATA, C_SESSION_IS_DIRTY, C_SESSION_MESSAGEPENDING, C_SESSION_MODULE_VECTOR, C_SESSION_PROJECT, C_SESSION_THREAD_ERROR, C_SESSION_USERNAME, C_SORT_ASC, C_SORT_DESC, C_START_ACCESSFLAGS, C_START_DEFAULTGROUP, C_START_LANGUAGE, C_START_LOCKDIALOG, C_START_PROJECT, C_START_VIEW, C_STATE_CHANGED, C_STATE_DELETED, C_STATE_NEW, C_STATE_UNCHANGED, C_STATICEXPORT_PATH, C_STATICEXPORT_START, C_SYNCHRONISATION_PATH, C_SYNCHRONISATION_PROJECT, C_SYNCHRONISATION_RESOURCE, C_SYNCHRONISATION_RESOURCETAG, C_SYSTEMPROPERTY_CRONTABLE, C_SYSTEMPROPERTY_EXPORTPATH, C_SYSTEMPROPERTY_EXTENSIONS, C_SYSTEMPROPERTY_LINKCHECKTABLE, C_SYSTEMPROPERTY_MIMETYPES, C_SYSTEMPROPERTY_MOUNTPOINT, C_SYSTEMPROPERTY_RESOURCE_TYPE, C_TABLE_CHANNELID, C_TASK_FILTER, C_TASK_MESSAGES, C_TASK_MESSAGES_ACCEPTED, C_TASK_MESSAGES_COMPLETED, C_TASK_MESSAGES_FORWARDED, C_TASK_MESSAGES_MEMBERS, C_TASK_ORDER_BY_DATE, C_TASK_ORDER_BY_NAME, C_TASK_PRIORITY_HIGH, C_TASK_PRIORITY_LOW, C_TASK_PRIORITY_NORMAL, C_TASK_STATE_ENDED, C_TASK_STATE_HALTED, C_TASK_STATE_NOTENDED, C_TASK_STATE_PREPARE, C_TASK_STATE_START, C_TASK_STATE_STARTED, C_TASK_VIEW_ALL, C_TASKLOG_SYSTEM, C_TASKLOG_USER, C_TASKORDER_NONE, C_TASKORDER_STARTDATE, C_TASKORDER_TIMEOUT, C_TASKS_ACTIVE, C_TASKS_ALL, C_TASKS_DONE, C_TASKS_NEW, C_TASKS_OPEN, C_TASKSORDER_TASKNAME, C_TEMP_PREFIX, C_TFACCESS, C_TFGROUP, C_TFILEOBJ, C_TFILES, C_TFNAME, C_TFPROPERTYINFO, C_TFPROPERTYNAME, C_TFPROPERTYTYPE, C_TFPROPERTYVALUE, C_TFTYPE, C_TFTYPENAME, C_TFUSER, C_TGDESC, C_TGFLAG, C_TGNAME, C_TGPARENTGROUP, C_TGROUPOBJ, C_TGROUPS, C_TGROUPUSERS, C_TGUSER, C_TUADDINFO, C_TUDESC, C_TUDGROUP, C_TUDISABLED, C_TUEMAIL, C_TUFIRSTNAME, C_TUFLAG, C_TUGROUP, C_TUINFOKEY, C_TUINFOVALUE, C_TULOGIN, C_TUNAME, C_TUPASSWD, C_TUSERGROUPS, C_TUSEROBJ, C_TUSERS, C_TYPE_BODY_NAME, C_TYPE_COMPATIBLEPLAIN_NAME, C_TYPE_FOLDER, C_TYPE_FOLDER_NAME, C_TYPE_IMAGE_NAME, C_TYPE_LAST_INDEX, C_TYPE_PAGE_NAME, C_TYPE_PLAIN_NAME, C_UNKNOWN_ID, C_UNKNOWN_INT, C_UNKNOWN_LAUNCHER, C_UNKNOWN_LAUNCHER_ID, C_UNKNOWN_LONG, C_URL_PREFIX_EXPORT, C_URL_PREFIX_HTTP, C_URL_PREFIX_HTTPS, C_URL_PREFIX_SERVERNAME, C_USER, C_USER_ADMIN, C_USER_GUEST, C_USER_TYPE_SYSTEMANDWEBUSER, C_USER_TYPE_SYSTEMUSER, C_USER_TYPE_WEBUSER, C_WEB_APP_REPLACE_KEY, C_WEEKS_HISTORY, C_WHATEVER, C_XML_BODY_ELEMENT
 
Constructor Summary
CmsResourceTypeLink()
           
 
Method Summary
 void copyResource(CmsObject cms, java.lang.String theSourceResourceName, java.lang.String theDestinationResourceName, boolean keepFlags)
          Copy a VFS link.
 CmsResource createResource(CmsObject cms, java.lang.String newResourceName, java.util.Map properties, byte[] contents, java.lang.Object parameter)
          Create a new VFS link.
 void deleteResource(CmsObject cms, java.lang.String theResourceName)
          Delete a VFS link.
 void moveResource(CmsObject cms, java.lang.String theSourceResourceName, java.lang.String theDestinationResourceName)
          Move a VFS link.
 void renameResource(CmsObject cms, java.lang.String theOldResourceName, java.lang.String theNewResourceName)
          Rename a VFS link.
 void undeleteResource(CmsObject cms, java.lang.String theResourceName)
          Undelete a VFS link.
 void undoChanges(CmsObject cms, java.lang.String theResourceName)
          Undo the changes on a VFS link.
 
Methods inherited from class com.opencms.file.CmsResourceTypePlain
changeLockedInProject, chgrp, chmod, chown, chtype, copyResourceToProject, exportResource, getLauncherClass, getLauncherType, getResourceType, getResourceTypeName, importResource, init, lockResource, restoreResource, setDefaultFlags, toString, touch, unlockResource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

C_TYPE_RESOURCE_NAME

public static final java.lang.String C_TYPE_RESOURCE_NAME
The name of the resource type node in registry.xml to read the general configurations for VFS links.

See Also:
Constant Field Values

DEBUG

private static final int DEBUG
See Also:
Constant Field Values
Constructor Detail

CmsResourceTypeLink

public CmsResourceTypeLink()
Method Detail

createResource

public CmsResource createResource(CmsObject cms,
                                  java.lang.String newResourceName,
                                  java.util.Map properties,
                                  byte[] contents,
                                  java.lang.Object parameter)
                           throws com.opencms.core.CmsException
Create a new VFS link.

Specified by:
createResource in interface I_CmsResourceType
Overrides:
createResource in class CmsResourceTypePlain

deleteResource

public void deleteResource(CmsObject cms,
                           java.lang.String theResourceName)
                    throws com.opencms.core.CmsException
Delete a VFS link. The link counter of the target resource is decremented.

Specified by:
deleteResource in interface I_CmsResourceType
Overrides:
deleteResource in class CmsResourceTypePlain

undeleteResource

public void undeleteResource(CmsObject cms,
                             java.lang.String theResourceName)
                      throws com.opencms.core.CmsException
Undelete a VFS link. The link counter of the target resource is incremented again.

Specified by:
undeleteResource in interface I_CmsResourceType
Overrides:
undeleteResource in class CmsResourceTypePlain

copyResource

public void copyResource(CmsObject cms,
                         java.lang.String theSourceResourceName,
                         java.lang.String theDestinationResourceName,
                         boolean keepFlags)
                  throws com.opencms.core.CmsException
Copy a VFS link. The link counter of the target resource is incremented. The ID of the target resource is saved in the new link resource.

Specified by:
copyResource in interface I_CmsResourceType
Overrides:
copyResource in class CmsResourceTypePlain

moveResource

public void moveResource(CmsObject cms,
                         java.lang.String theSourceResourceName,
                         java.lang.String theDestinationResourceName)
                  throws com.opencms.core.CmsException
Move a VFS link. The link counter of the target resource remains unchanged. The ID of the target resource is saved in the new link resource.

Specified by:
moveResource in interface I_CmsResourceType
Overrides:
moveResource in class CmsResourceTypePlain

renameResource

public void renameResource(CmsObject cms,
                           java.lang.String theOldResourceName,
                           java.lang.String theNewResourceName)
                    throws com.opencms.core.CmsException
Rename a VFS link. The link counter of the target resource remains unchanged. The ID of the target resource is saved in the new link resource.

Specified by:
renameResource in interface I_CmsResourceType
Overrides:
renameResource in class CmsResourceTypePlain

undoChanges

public void undoChanges(CmsObject cms,
                        java.lang.String theResourceName)
                 throws com.opencms.core.CmsException
Undo the changes on a VFS link. In case the target of the link has to be changed back to another target resource, the link counter of the new target resource is decremented, and so the link counter of the previous target resource is incremented again. The ID of the target resource is saved in the new link resource.

Specified by:
undoChanges in interface I_CmsResourceType
Overrides:
undoChanges in class CmsResourceTypePlain