com.opencms.defaults
Class A_CmsContentDefinition

java.lang.Object
  |
  +--com.opencms.defaults.A_CmsContentDefinition
All Implemented Interfaces:
Cloneable, I_CmsConstants, I_CmsContent
Direct Known Subclasses:
CmsChannelContent, CmsMasterContent

public abstract class A_CmsContentDefinition
extends Object
implements I_CmsContent, I_CmsConstants

Abstract class for the content definition Creation date: (27.10.00 10:04:42)

Version:
$Revision: 1.13 $
Author:
Michael Knoll

Field Summary
 
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
A_CmsContentDefinition()
           
 
Method Summary
protected  boolean accessGroup(CmsObject cms, CmsUser currentUser, int flags)
          Checks, if the group may access this resource.
protected  boolean accessOther(int flags)
          Checks, if others may access this resource.
protected  boolean accessOwner(CmsObject cms, CmsUser currentUser, int flags)
          Checks, if the owner may access this resource.
static Vector applyFilter(CmsObject cms, CmsFilterMethod filterMethod)
          applies the filter method
static Vector applyFilter(CmsObject cms, CmsFilterMethod filterMethod, String userParameter)
          applies the filter through the method object and the user parameters
 void check(boolean finalcheck)
           
abstract  void delete(CmsObject cms)
          abstract delete method for delete instance of content definition must be overwritten in your content definition
 int getAccessFlags()
          get the accessFlag for the CD
static Vector getFieldMethods(CmsObject cms)
          Gets the getXXX methods You have to override this method in your content definition.
static Vector getFieldNames(CmsObject cms)
          Gets the headlines of the table You have to override this method in your content definition.
static Vector getFilterMethods(CmsObject cms)
          Gets the filter methods.
 String getGroup()
          get the group of the CD
 int getLockstate()
          Gets the lockstates You have to override this method in your content definition, if you have overwritten the isLockable method with true.
 int getOwner()
          get the owner of the CD
abstract  String getUniqueId(CmsObject cms)
          gets the unique Id of a content definition instance
 String getUrl()
          Gets the url of the field entry You have to override this method in your content definition, if you wish to link urlīs to the field entries
protected  boolean hasReadAccess(CmsObject cms)
          has the current user the right to read the CD
protected  boolean hasWriteAccess(CmsObject cms)
          has the current user the right to write the CD
static boolean isExtendedList()
          if the content definition objects should be displayed in an extended list with projectflags and state this method must be overwritten with value true
static boolean isLockable()
          if the content definition objects should be lockable this method has to be overwritten with value true
 boolean isReadable()
          returns true if the CD is readable for the current user
 boolean isTimedContent()
          if the content definition objects are timecritical this method must be overwritten with value true.
 boolean isWriteable()
          returns true if the CD is writeable for the current user
 void setAccessFlags(int accessFlags)
          set the accessFlag for the CD
 void setGroup(String group)
          set the group of the CD
 void setLockstate(int lockstate)
          Sets the lockstates You have to override this method in your content definition, if you have overwritten the isLockable method with true.
 void setOwner(int userId)
          set the owner of the CD
abstract  void write(CmsObject cms)
          abstract write method must be overwritten in content definition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

A_CmsContentDefinition

public A_CmsContentDefinition()
Method Detail

applyFilter

public static Vector applyFilter(CmsObject cms,
                                 CmsFilterMethod filterMethod)
                          throws Exception
applies the filter method

Returns:
an Vector containing the method
Exception

applyFilter

public static Vector applyFilter(CmsObject cms,
                                 CmsFilterMethod filterMethod,
                                 String userParameter)
                          throws Exception
applies the filter through the method object and the user parameters

Returns:
a vector with the filtered content
Exception

check

public void check(boolean finalcheck)
           throws CmsPlausibilizationException
CmsPlausibilizationException

delete

public abstract void delete(CmsObject cms)
                     throws Exception
abstract delete method for delete instance of content definition must be overwritten in your content definition

Exception

getFieldMethods

public static Vector getFieldMethods(CmsObject cms)
Gets the getXXX methods You have to override this method in your content definition.

Returns:
a Vector with the filed methods.

getFieldNames

public static Vector getFieldNames(CmsObject cms)
Gets the headlines of the table You have to override this method in your content definition.

Returns:
a Vector with the colum names.

getFilterMethods

public static Vector getFilterMethods(CmsObject cms)
Gets the filter methods. You have to override this method in your content definition.

Returns:
a Vector of FilterMethod objects containing the methods, names and default parameters

getLockstate

public int getLockstate()
Gets the lockstates You have to override this method in your content definition, if you have overwritten the isLockable method with true.

Returns:
a int with the lockstate

getUniqueId

public abstract String getUniqueId(CmsObject cms)
gets the unique Id of a content definition instance

Returns:
a string with the Id

getUrl

public String getUrl()
Gets the url of the field entry You have to override this method in your content definition, if you wish to link urlīs to the field entries

Returns:
a String with the url

isLockable

public static boolean isLockable()
if the content definition objects should be lockable this method has to be overwritten with value true

Returns:
a boolean

setLockstate

public void setLockstate(int lockstate)
Sets the lockstates You have to override this method in your content definition, if you have overwritten the isLockable method with true.

Parameters:
lockstate - the lockstate for the actual entry

write

public abstract void write(CmsObject cms)
                    throws Exception
abstract write method must be overwritten in content definition

Exception

isReadable

public boolean isReadable()
returns true if the CD is readable for the current user

Returns:
true

isWriteable

public boolean isWriteable()
returns true if the CD is writeable for the current user

Returns:
true

setOwner

public void setOwner(int userId)
set the owner of the CD


getOwner

public int getOwner()
get the owner of the CD

Returns:
id of the owner (int)

setGroup

public void setGroup(String group)
set the group of the CD


getGroup

public String getGroup()
get the group of the CD

Returns:
the group ID

setAccessFlags

public void setAccessFlags(int accessFlags)
set the accessFlag for the CD


getAccessFlags

public int getAccessFlags()
get the accessFlag for the CD

Returns:
the accessFlag

hasReadAccess

protected boolean hasReadAccess(CmsObject cms)
                         throws CmsException
has the current user the right to read the CD

Returns:
a boolean
CmsException

hasWriteAccess

protected boolean hasWriteAccess(CmsObject cms)
                          throws CmsException
has the current user the right to write the CD

Returns:
a boolean
CmsException

accessOwner

protected boolean accessOwner(CmsObject cms,
                              CmsUser currentUser,
                              int flags)
                       throws CmsException
Checks, if the owner may access this resource.

Parameters:
cms - the cmsObject
currentUser - The user who requested this method.
flags - The flags to check.
Returns:
wether the user has access, or not.
CmsException

accessGroup

protected boolean accessGroup(CmsObject cms,
                              CmsUser currentUser,
                              int flags)
                       throws CmsException
Checks, if the group may access this resource.

Parameters:
cms - the cmsObject
currentUser - The user who requested this method.
flags - The flags to check.
Returns:
wether the user has access, or not.
CmsException

accessOther

protected boolean accessOther(int flags)
                       throws CmsException
Checks, if others may access this resource.

Parameters:
flags - The flags to check.
Returns:
wether the user has access, or not.
CmsException

isExtendedList

public static boolean isExtendedList()
if the content definition objects should be displayed in an extended list with projectflags and state this method must be overwritten with value true

Returns:
a boolean

isTimedContent

public boolean isTimedContent()
if the content definition objects are timecritical this method must be overwritten with value true.

Returns:
a boolean