Class CmsContainerElementBean

java.lang.Object
org.opencms.xml.containerpage.CmsContainerElementBean
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
CmsJspStandardContextBean.CmsContainerElementWrapper

public class CmsContainerElementBean extends Object implements Cloneable
One element of a container in a container page.

Since:
8.0
  • Constructor Details

    • CmsContainerElementBean

      public CmsContainerElementBean(CmsFile file, CmsUUID formatterId, Map<String,String> individualSettings, boolean inMemoryOnly, String editorHash, boolean createNew)
      Creates a new container page element bean.

      Parameters:
      file - the element's file
      formatterId - the formatter's structure id, could be null
      individualSettings - the element settings as a map of name/value pairs
      inMemoryOnly - the in memory flag
      editorHash - the editor hash to use
      createNew - true if a new element should be created replacing the given one on first edit of a container-page
    • CmsContainerElementBean

      public CmsContainerElementBean(CmsUUID elementId, CmsUUID formatterId, Map<String,String> individualSettings, boolean createNew)
      Creates a new container page element bean.

      Parameters:
      elementId - the element's structure id
      formatterId - the formatter's structure id, could be null
      individualSettings - the element settings as a map of name/value pairs
      createNew - true if a new element should be created replacing the given one on first edit of a container-page
    • CmsContainerElementBean

      Constructor to enable wrapped elements.

  • Method Details

    • cloneWithFormatter

      Clones the given element bean with a different formatter.

      Parameters:
      source - the element to clone
      formatterId - the new formatter id
      Returns:
      the element bean
    • cloneWithSettings

      Clones the given element bean with a different set of settings.

      Parameters:
      source - the element to clone
      settings - the new settings
      Returns:
      the element bean
    • createElementForResourceType

      public static CmsContainerElementBean createElementForResourceType(CmsObject cms, I_CmsResourceType resourceType, String targetFolder, Map<String,String> individualSettings, boolean isCopyModels, Locale locale) throws CmsException
      Creates an element bean for the given resource type.

      The represented resource will be in memory only and not in the VFS!!!.

      Parameters:
      cms - the CMS context
      resourceType - the resource type
      targetFolder - the parent folder of the resource
      individualSettings - the element settings as a map of name/value pairs
      isCopyModels - if this element when used in models should be copied instead of reused
      locale - the locale to use
      Returns:
      the created element bean
      Throws:
      CmsException - if something goes wrong creating the element
      IllegalArgumentException - if the resource type not instance of CmsResourceTypeXmlContent
    • addFormatterSetting

      public void addFormatterSetting(String containerName, String formatterId)
      Adds a formatter setting.

      Parameters:
      containerName - the container name
      formatterId - the formatter id
    • clone

      Overrides:
      clone in class Object
      See Also:
    • editorHash

      public String editorHash()
      Returns the ADE client editor has value.

      Returns:
      the ADE client editor has value
    • ensureNewInstanceId

      public void ensureNewInstanceId()
      Ensures the element has a new element instance id.

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • getFormatterId

      Returns the structure id of the formatter of this element.

      Returns:
      the structure id of the formatter of this element
    • getId

      public CmsUUID getId()
      Returns the structure id of the resource of this element.

      Returns:
      the structure id of the resource of this element
    • getIndividualSettings

      Returns the settings of this element.

      Returns:
      the settings of this element
    • getInheritanceInfo

      Returns the inheritance info.

      Returns:
      the inheritance info or null if not available
    • getInstanceId

      Returns the element instance id.

      Returns:
      the element instance id
    • getResource

      Returns the resource of this element.

      It is required to call initResource(CmsObject) before this method can be used.

      Returns:
      the resource of this element
      See Also:
    • getSettings

      Returns the element settings including default values for settings not set.

      Will return null if the element bean has not been initialized with initResource(org.opencms.file.CmsObject).

      Returns:
      the element settings
    • getSitePath

      public String getSitePath()
      Returns the site path of the resource of this element.

      It is required to call initResource(CmsObject) before this method can be used.

      Returns:
      the site path of the resource of this element
      See Also:
    • getTypeName

      public String getTypeName()
      Returns the resource type name.

      Returns:
      the type name
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      See Also:
    • initResource

      public void initResource(CmsObject cms) throws CmsException
      Initializes the resource and the site path of this element.

      Parameters:
      cms - the CMS context
      Throws:
      CmsException - if something goes wrong reading the element resource
    • initSettings

      public void initSettings(CmsObject cms, CmsADEConfigData config, I_CmsFormatterBean formatterBean, Locale locale, javax.servlet.ServletRequest request, Map<String,String> presets)
      Initializes the element settings.

      Parameters:
      cms - the CMS context
      formatterBean - the formatter configuration bean
      locale - the content locale
      request - the current request, if available
      presets - the presets for container element settings
    • isCopyModel

      public boolean isCopyModel()
      Returns if the given element should be used as a copy model.

      Returns:
      true if the given element should be used as a copy model
    • isCreateNew

      public boolean isCreateNew()
      Returns if a new element should be created replacing the given one on first edit of a container-page.

      Returns:
      true if a new element should be created replacing the given one on first edit of a container-page
    • isDoNotCache

      public boolean isDoNotCache()
      Checks if the element is uncacheable.
      Returns:
      true if the element is uncacheable
    • isGroupContainer

      public boolean isGroupContainer(CmsObject cms) throws CmsException
      Tests whether this element refers to a group container.

      Parameters:
      cms - the CmsObject used for VFS operations
      Returns:
      true if the container element refers to a group container
      Throws:
      CmsException - if something goes wrong
    • isHistoryContent

      public boolean isHistoryContent()
      Checks if the element is used for displaying a historical content (usually from the history dialog).
      Returns:
      true if the element is used for displaying a historical content
    • isInheritedContainer

      public boolean isInheritedContainer(CmsObject cms) throws CmsException
      Returns whether this element refers to an inherited container element.

      Parameters:
      cms - the CmsObject used for VFS operations
      Returns:
      true if the container element refers to an inherited container
      Throws:
      CmsException - if something goes wrong
    • isInMemoryOnly

      public boolean isInMemoryOnly()
      Returns if the represented resource is in memory only and not persisted in the VFS.

      Returns:
      true if the represented resource is in memory only and not persisted in the VFS
    • isModelGroup

      public boolean isModelGroup()
      Returns if the given element is a model group.

      Returns:
      true if the given element is a model group
    • isModelGroupAlwaysReplace

      public boolean isModelGroupAlwaysReplace()
      Returns if all instances of this element should be replaced within a copy model.

      Returns:
      true if all instances of this element should be replaced within a copy model
    • isReleasedAndNotExpired

      public boolean isReleasedAndNotExpired()
      Returns if the element resource is released and not expired.

      Returns:
      true if the element resource is released and not expired
    • isTemporaryContent

      public boolean isTemporaryContent()
      Returns if the element resource contains temporary file content.

      Returns:
      true if the element resource contains temporary file content
    • setDoNotCache

      public void setDoNotCache(boolean doNotCache)
      Enables / disables 'do not cache' status, which prevents the element from being cached in the session cache.
      Parameters:
      doNotCache - the new value
    • setFormatterId

      public void setFormatterId(CmsUUID formatterId)
      Sets the formatter id.

      Parameters:
      formatterId - the formatter id
    • setHistoryFile

      public void setHistoryFile(CmsFile file)
      Sets a historical file.

      Parameters:
      file - the historical file
    • setInheritanceInfo

      public void setInheritanceInfo(CmsInheritanceInfo inheritanceInfo)
      Sets the inheritance info for this element.

      Parameters:
      inheritanceInfo - the inheritance info
    • setTemporaryFile

      public void setTemporaryFile(CmsFile elementFile)
      Sets the element resource as a temporary file.

      Parameters:
      elementFile - the temporary file
    • toString

      public String toString()
      Overrides:
      toString in class Object
      See Also:
    • updateIndividualSettings

      public void updateIndividualSettings(Map<String,String> newSettings)
      Updates the individual settings.

      This causes all merged settings (from defaults etc.) to be lost.

      Parameters:
      newSettings - the new settings