Class CmsWidgetDialogParameter

java.lang.Object
org.opencms.workplace.CmsWidgetDialogParameter
All Implemented Interfaces:
org.opencms.widgets.I_CmsWidgetParameter

public class CmsWidgetDialogParameter extends Object implements org.opencms.widgets.I_CmsWidgetParameter
Implements the widget parameter interface for the use of OpenCms widgets on dialogs that are not based on XML contents.

Since:
6.0.0
  • Field Details

    • DEFAULT_DIALOG_PAGE

      public static final String DEFAULT_DIALOG_PAGE
      The name of the default dialog page.
      See Also:
    • MAX_OCCURENCES

      public static final int MAX_OCCURENCES
      The maximum number of occurences of a widget dialog element in a list of elements.
      See Also:
    • m_baseCollection

      The (optional) base collection for read / writing collection based parameters.
    • m_baseObject

      protected Object m_baseObject
      The (optional) base object for read / writing the parameter value to.
    • m_baseObjectProperty

      The (optinal) object property to read / write this parameter value to.
    • m_defaultValue

      The default value of the parameter.
    • m_dialogPage

      protected String m_dialogPage
      The name of the dialog (page) the widget is used on.
    • m_error

      protected Throwable m_error
      Indicates if the widget value has an error.
    • m_id

      protected String m_id
      The id of the parameter on the form.
    • m_index

      protected int m_index
      The index of this parameter in the (optional) list of parameters.
    • m_maxOccurs

      protected int m_maxOccurs
      The maximum number of occurences of this parameter.
    • m_minOccurs

      protected int m_minOccurs
      The minimum number of occurences of this parameter.
    • m_name

      protected String m_name
      The name of the parameter.
    • m_prefix

      protected String m_prefix
      Optional localized key prefix identificator.
    • m_value

      protected String m_value
      The value of the parameter.
    • m_widget

      protected org.opencms.widgets.I_CmsWidget m_widget
      The widget used for the parameter.
  • Constructor Details

    • CmsWidgetDialogParameter

      Create a new Widget parameter.

      Parameters:
      base - the base of the parameter
      index - the index of this parameter in the list
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(CmsWidgetDialogParameter base, int index, int originalIndex)
      Create a new Widget parameter.

      Parameters:
      base - the base of the parameter
      index - the index of this parameter in the list
      originalIndex - the original index in the previous version of the list
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(Object base, String property, org.opencms.widgets.I_CmsWidget widget)
      Create a new Widget parameter based on a given object's property.

      Parameters:
      base - the base object to map the parameter to / from
      property - the base object property to map the parameter to / from
      widget - the widget used for this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(Object base, String property, String dialogPage, org.opencms.widgets.I_CmsWidget widget)
      Create a new Widget parameter based on a given object's property.

      Parameters:
      base - the base object to map the parameter to / from
      property - the base object property to map the parameter to / from
      dialogPage - the dialog page to use the widget on
      widget - the widget used for this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(Object base, String property, String htmlName, String dialogPage, org.opencms.widgets.I_CmsWidget widget)
      Create a new Widget parameter based on a given object's property.

      Parameters:
      base - the base object to map the parameter to / from
      property - the base object property to map the parameter to / from
      htmlName - the form id name to use in the generated HTML
      dialogPage - the dialog page to use the widget on
      widget - the widget used for this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(Object base, String property, String defaultValue, String dialogPage, org.opencms.widgets.I_CmsWidget widget, int minOccurs, int maxOccurs)
      Create a new Widget parameter based on a given object's property.

      Parameters:
      base - the base object to map the parameter to / from
      property - the base object property to map the parameter to / from
      defaultValue - the default value to use for this parameter
      dialogPage - the dialog page to use the widget on
      widget - the widget used for this paramete
      minOccurs - the required minimum numer of occurences of this parameter
      maxOccurs - the maximum allowed numer of occurences of this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(Object base, String property, String htmlName, String defaultValue, String dialogPage, org.opencms.widgets.I_CmsWidget widget, int minOccurs, int maxOccurs)
      Create a new Widget parameter based on a given object's property.

      Parameters:
      base - the base object to map the parameter to / from
      property - the base object property to map the parameter to / from
      htmlName - the form id name to use in the generated HTML
      defaultValue - the default value to use for this parameter
      dialogPage - the dialog page to use the widget on
      widget - the widget used for this paramete
      minOccurs - the required minimum numer of occurences of this parameter
      maxOccurs - the maximum allowed numer of occurences of this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(String name, org.opencms.widgets.I_CmsWidget widget)
      Create a new Widget parameter.

      Parameters:
      name - the name of the parameter
      widget - the widget used for this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(String name, org.opencms.widgets.I_CmsWidget widget, int minOccurs, int maxOccurs)
      Create a new Widget parameter.

      Parameters:
      name - the name of the parameter
      widget - the widget used for this parameter
      minOccurs - the required minimum numer of occurences of this parameter
      maxOccurs - the maximum allowed numer of occurences of this parameter
    • CmsWidgetDialogParameter

      public CmsWidgetDialogParameter(String value, String defaultValue, String name, org.opencms.widgets.I_CmsWidget widget, String dialog, int minOccurs, int maxOccurs, int index)
      Create a new Widget parameter with specified occurence settings.

      Parameters:
      value - the initial value of the parameter
      defaultValue - the default value of the parameter
      name - the id of the parameter
      widget - the widget used for this parameter
      dialog - the dialog this parameter is used on
      minOccurs - the required minimum numer of occurences of this parameter
      maxOccurs - the maximum allowed numer of occurences of this parameter
      index - the index of this parameter in the list
  • Method Details

    • createId

      public static String createId(String name, int index)
      Returns a from id representation for the given widget name and id.

      Parameters:
      name - the widget parameter name
      index - the widget parameter index
      Returns:
      a from id representation for the given widget name and id
    • commitValue

      public void commitValue(CmsWidgetDialog dialog) throws org.opencms.main.CmsException
      "Commits" (writes) the value of this widget back to the underlying base object.

      Parameters:
      dialog - the widget dialog where the parameter is used on
      Throws:
      org.opencms.main.CmsException - in case the String value of the widget is invalid for the base Object
    • getDefault

      public String getDefault(org.opencms.file.CmsObject cms)
      Specified by:
      getDefault in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getDefault(org.opencms.file.CmsObject)
    • getDialogPage

      Returns the name of the dialog (or dialog page) this widget parameter is used on.

      This information can be used to create multi-page dialogs where the widgets are spread over several pages.

      Returns:
      the name of the dialog (or dialog page) this widget parameter is used on
    • getError

      public Throwable getError()
      Returns the Exception caused when this parameter value was commited, or null if error occurred.

      Returns:
      the Exception caused when this parameter value was commited
    • getId

      public String getId()
      Specified by:
      getId in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getId()
    • getIndex

      public int getIndex()
      Specified by:
      getIndex in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getIndex()
    • getKey

      public String getKey()
      Specified by:
      getKey in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getKey()
    • getMaxOccurs

      public int getMaxOccurs()
      Specified by:
      getMaxOccurs in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getMaxOccurs()
    • getMinOccurs

      public int getMinOccurs()
      Specified by:
      getMinOccurs in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getMinOccurs()
    • getName

      public String getName()
      Specified by:
      getName in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.getName()
    • getStringValue

      public String getStringValue(org.opencms.file.CmsObject cms) throws org.opencms.main.CmsRuntimeException
      Specified by:
      getStringValue in interface org.opencms.widgets.I_CmsWidgetParameter
      Throws:
      org.opencms.main.CmsRuntimeException
      See Also:
      • I_CmsWidgetParameter.getStringValue(org.opencms.file.CmsObject)
    • getWidget

      public org.opencms.widgets.I_CmsWidget getWidget()
      Returns the widget for this parameter.

      Returns:
      the widget for this parameter
    • hasError

      public boolean hasError()
      Specified by:
      hasError in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.hasError()
    • hasValue

      public boolean hasValue(int index)
      Checks if a value for this widget base type with the given id is available.

      This should only be used if the base object is a collection.

      Parameters:
      index - the index to check
      Returns:
      true if a value for this widget base type with the given id is available
    • isCollectionBase

      public boolean isCollectionBase()
      Returns true if this widget parameter is mapped to a Collection base object.

      Returns:
      true if this widget parameter is mapped to a Collection base object
    • prepareCommit

      public void prepareCommit()
      Prepares this widget dialog parameter to be committed.

      This is required if the base type is mapped to a Collection object, because the collection needs to be cleared before the new values are set.

    • setError

      public void setError(Throwable error)
      Sets the error state of this widget.

      If the argument is null then the state is set to "no error".

      Parameters:
      error - the error state to set
    • setindex

      public void setindex(int index)
      Sets the index to the provided value.

      Parameters:
      index - the new index value to set
    • setKeyPrefix

      public void setKeyPrefix(String prefix)
      Specified by:
      setKeyPrefix in interface org.opencms.widgets.I_CmsWidgetParameter
      See Also:
      • I_CmsWidgetParameter.setKeyPrefix(java.lang.String)
    • setStringValue

      public void setStringValue(org.opencms.file.CmsObject cms, String value) throws org.opencms.main.CmsIllegalArgumentException
      Specified by:
      setStringValue in interface org.opencms.widgets.I_CmsWidgetParameter
      Throws:
      org.opencms.main.CmsIllegalArgumentException
      See Also:
      • I_CmsWidgetParameter.setStringValue(org.opencms.file.CmsObject, java.lang.String)
    • init

      protected void init(String value, String defaultValue, String name, org.opencms.widgets.I_CmsWidget widget, String dialog, int minOccurs, int maxOccurs, int index)
      Initializes a widget parameter with the given values.

      Parameters:
      value - the initial value of the parameter
      defaultValue - the default value of the parameter
      name - the id of the parameter
      widget - the widget used for this parameter
      dialog - the dialog this parameter is used on
      minOccurs - the required minimum numer of occurences of this parameter
      maxOccurs - the maximum allowed numer of occurences of this parameter
      index - the index of this parameter in the list