org.opencms.workplace
Class CmsWidgetDialogParameter

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

public class CmsWidgetDialogParameter
extends java.lang.Object
implements 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
Version:
$Revision: 1.19 $
Author:
Alexander Kandzior

Field Summary
static java.lang.String DEFAULT_DIALOG_PAGE
          The name of the default dialog page.
protected  java.lang.Object m_baseCollection
          The (optional) base collection for read / writing collection based parameters.
protected  java.lang.Object m_baseObject
          The (optional) base object for read / writing the parameter value to.
protected  java.lang.String m_baseObjectProperty
          The (optinal) object property to read / write this parameter value to.
protected  java.lang.String m_defaultValue
          The default value of the parameter.
protected  java.lang.String m_dialogPage
          The name of the dialog (page) the widget is used on.
protected  java.lang.Throwable m_error
          Indicates if the widget value has an error.
protected  java.lang.String m_id
          The id of the parameter on the form.
protected  int m_index
          The index of this parameter in the (optional) list of parameters.
protected  int m_maxOccurs
          The maximum number of occurences of this parameter.
protected  int m_minOccurs
          The minimum number of occurences of this parameter.
protected  java.lang.String m_name
          The name of the parameter.
protected  java.lang.String m_prefix
          Optional localized key prefix identificator.
protected  java.lang.String m_value
          The value of the parameter.
protected  I_CmsWidget m_widget
          The widget used for the parameter.
static int MAX_OCCURENCES
          The maximum number of occurences of a widget dialog element in a list of elements.
 
Constructor Summary
CmsWidgetDialogParameter(CmsWidgetDialogParameter base, int index)
          Create a new Widget parameter.
CmsWidgetDialogParameter(CmsWidgetDialogParameter base, int index, int originalIndex)
          Create a new Widget parameter.
CmsWidgetDialogParameter(java.lang.Object base, java.lang.String property, I_CmsWidget widget)
          Create a new Widget parameter based on a given object's property.
CmsWidgetDialogParameter(java.lang.Object base, java.lang.String property, java.lang.String dialogPage, I_CmsWidget widget)
          Create a new Widget parameter based on a given object's property.
CmsWidgetDialogParameter(java.lang.Object base, java.lang.String property, java.lang.String htmlName, java.lang.String dialogPage, I_CmsWidget widget)
          Create a new Widget parameter based on a given object's property.
CmsWidgetDialogParameter(java.lang.Object base, java.lang.String property, java.lang.String defaultValue, java.lang.String dialogPage, I_CmsWidget widget, int minOccurs, int maxOccurs)
          Create a new Widget parameter based on a given object's property.
CmsWidgetDialogParameter(java.lang.Object base, java.lang.String property, java.lang.String htmlName, java.lang.String defaultValue, java.lang.String dialogPage, I_CmsWidget widget, int minOccurs, int maxOccurs)
          Create a new Widget parameter based on a given object's property.
CmsWidgetDialogParameter(java.lang.String name, I_CmsWidget widget)
          Create a new Widget parameter.
CmsWidgetDialogParameter(java.lang.String name, I_CmsWidget widget, int minOccurs, int maxOccurs)
          Create a new Widget parameter.
CmsWidgetDialogParameter(java.lang.String value, java.lang.String defaultValue, java.lang.String name, I_CmsWidget widget, java.lang.String dialog, int minOccurs, int maxOccurs, int index)
          Create a new Widget parameter with specified occurence settings.
 
Method Summary
 void commitValue(CmsWidgetDialog dialog)
          "Commits" (writes) the value of this widget back to the underlying base object.
static java.lang.String createId(java.lang.String name, int index)
          Returns a from id representation for the given widget name and id.
 java.lang.String getDefault(CmsObject cms)
          Returns the default value of this parameter.
 java.lang.String getDialogPage()
          Returns the name of the dialog (or dialog page) this widget parameter is used on.
 java.lang.Throwable getError()
          Returns the Exception caused when this parameter value was commited, or null if error occurred.
 java.lang.String getId()
          Returns the form id of this parameter.
 int getIndex()
          Returns the index of this widget parameter, starting with 0.
 java.lang.String getKey()
          Returns the localized key identificator of this parameter.
 int getMaxOccurs()
          Returns the maximum occurences of this parameter.
 int getMinOccurs()
          Returns the minimum occurences of this parameter.
 java.lang.String getName()
          Returns the name of this parameter.
 java.lang.String getStringValue(CmsObject cms)
          Returns the value of this parameter.
 I_CmsWidget getWidget()
          Returns the widget for this parameter.
 boolean hasError()
          Returns true if this widgets value contains an error.
 boolean hasValue(int index)
          Checks if a value for this widget base type with the given id is available.
protected  void init(java.lang.String value, java.lang.String defaultValue, java.lang.String name, I_CmsWidget widget, java.lang.String dialog, int minOccurs, int maxOccurs, int index)
          Initializes a widget parameter with the given values.
 boolean isCollectionBase()
          Returns true if this widget parameter is mapped to a Collection base object.
 void prepareCommit()
          Prepares this widget dialog parameter to be commited.
 void setError(java.lang.Throwable error)
          Sets the error state of this widget.
 void setindex(int index)
          Sets the index to the provided value.
 void setKeyPrefix(java.lang.String prefix)
          Sets an optional localized key prefix identificator of this parameter.
 void setStringValue(CmsObject cms, java.lang.String value)
          Sets the value of this parameter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DIALOG_PAGE

public static final java.lang.String DEFAULT_DIALOG_PAGE
The name of the default dialog page.

See Also:
Constant Field Values

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:
Constant Field Values

m_baseCollection

protected java.lang.Object m_baseCollection
The (optional) base collection for read / writing collection based parameters.


m_baseObject

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


m_baseObjectProperty

protected java.lang.String m_baseObjectProperty
The (optinal) object property to read / write this parameter value to.


m_defaultValue

protected java.lang.String m_defaultValue
The default value of the parameter.


m_dialogPage

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


m_error

protected java.lang.Throwable m_error
Indicates if the widget value has an error.


m_id

protected java.lang.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 java.lang.String m_name
The name of the parameter.


m_prefix

protected java.lang.String m_prefix
Optional localized key prefix identificator.


m_value

protected java.lang.String m_value
The value of the parameter.


m_widget

protected I_CmsWidget m_widget
The widget used for the parameter.

Constructor Detail

CmsWidgetDialogParameter

public CmsWidgetDialogParameter(CmsWidgetDialogParameter base,
                                int index)
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(java.lang.Object base,
                                java.lang.String property,
                                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(java.lang.Object base,
                                java.lang.String property,
                                java.lang.String dialogPage,
                                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(java.lang.Object base,
                                java.lang.String property,
                                java.lang.String htmlName,
                                java.lang.String dialogPage,
                                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(java.lang.Object base,
                                java.lang.String property,
                                java.lang.String defaultValue,
                                java.lang.String dialogPage,
                                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(java.lang.Object base,
                                java.lang.String property,
                                java.lang.String htmlName,
                                java.lang.String defaultValue,
                                java.lang.String dialogPage,
                                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(java.lang.String name,
                                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(java.lang.String name,
                                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(java.lang.String value,
                                java.lang.String defaultValue,
                                java.lang.String name,
                                I_CmsWidget widget,
                                java.lang.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 Detail

createId

public static java.lang.String createId(java.lang.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 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:
CmsException - in case the String value of the widget is invalid for the base Object

getDefault

public java.lang.String getDefault(CmsObject cms)
Description copied from interface: I_CmsWidgetParameter
Returns the default value of this parameter.

If no default value has been provided, null is returned.

Specified by:
getDefault in interface I_CmsWidgetParameter
Parameters:
cms - an initialized instance of an OpenCms user context
Returns:
the default value of this parameter
See Also:
I_CmsWidgetParameter.getDefault(org.opencms.file.CmsObject)

getDialogPage

public java.lang.String 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 java.lang.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 java.lang.String getId()
Description copied from interface: I_CmsWidgetParameter
Returns the form id of this parameter.

Specified by:
getId in interface I_CmsWidgetParameter
Returns:
the form id of this parameter
See Also:
I_CmsWidgetParameter.getId()

getIndex

public int getIndex()
Description copied from interface: I_CmsWidgetParameter
Returns the index of this widget parameter, starting with 0.

This is usefull in case there are more then one parameters with the same name, for example when creating a list of parameters of the same type.

Specified by:
getIndex in interface I_CmsWidgetParameter
Returns:
the index of this widget parameter
See Also:
I_CmsWidgetParameter.getIndex()

getKey

public java.lang.String getKey()
Description copied from interface: I_CmsWidgetParameter
Returns the localized key identificator of this parameter.

Specified by:
getKey in interface I_CmsWidgetParameter
Returns:
the localized key identificator of this parameter
See Also:
I_CmsWidgetParameter.getKey()

getMaxOccurs

public int getMaxOccurs()
Description copied from interface: I_CmsWidgetParameter
Returns the maximum occurences of this parameter.

Specified by:
getMaxOccurs in interface I_CmsWidgetParameter
Returns:
the maximum occurences of this parameter
See Also:
I_CmsWidgetParameter.getMaxOccurs()

getMinOccurs

public int getMinOccurs()
Description copied from interface: I_CmsWidgetParameter
Returns the minimum occurences of this parameter.

Specified by:
getMinOccurs in interface I_CmsWidgetParameter
Returns:
the minimum occurences of this parameter
See Also:
I_CmsWidgetParameter.getMinOccurs()

getName

public java.lang.String getName()
Description copied from interface: I_CmsWidgetParameter
Returns the name of this parameter.

Specified by:
getName in interface I_CmsWidgetParameter
Returns:
the name of this parameter
See Also:
I_CmsWidgetParameter.getName()

getStringValue

public java.lang.String getStringValue(CmsObject cms)
                                throws CmsRuntimeException
Description copied from interface: I_CmsWidgetParameter
Returns the value of this parameter.

Specified by:
getStringValue in interface I_CmsWidgetParameter
Parameters:
cms - an initialized instance of an OpenCms user context
Returns:
the value of this parameter
Throws:
CmsRuntimeException
See Also:
I_CmsWidgetParameter.getStringValue(org.opencms.file.CmsObject)

getWidget

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

Returns:
the widget for this parameter

hasError

public boolean hasError()
Description copied from interface: I_CmsWidgetParameter
Returns true if this widgets value contains an error.

Specified by:
hasError in interface I_CmsWidgetParameter
Returns:
true if this widgets value contains an error
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 commited.

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


setError

public void setError(java.lang.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(java.lang.String prefix)
Description copied from interface: I_CmsWidgetParameter
Sets an optional localized key prefix identificator of this parameter.

Specified by:
setKeyPrefix in interface I_CmsWidgetParameter
Parameters:
prefix - the optional localized key prefix identificator of this parameter
See Also:
I_CmsWidgetParameter.setKeyPrefix(java.lang.String)

setStringValue

public void setStringValue(CmsObject cms,
                           java.lang.String value)
                    throws CmsIllegalArgumentException
Description copied from interface: I_CmsWidgetParameter
Sets the value of this parameter.

This method does provide processing of the content based on the users current OpenCms context. This can be used e.g. for link extraction and replacement in the content.

Specified by:
setStringValue in interface I_CmsWidgetParameter
Parameters:
cms - an initialized instance of an OpenCms user context
value - the value to set
Throws:
CmsIllegalArgumentException
See Also:
I_CmsWidgetParameter.setStringValue(org.opencms.file.CmsObject, java.lang.String)

init

protected void init(java.lang.String value,
                    java.lang.String defaultValue,
                    java.lang.String name,
                    I_CmsWidget widget,
                    java.lang.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