org.opencms.widgets
Class CmsSelectWidgetOption

java.lang.Object
  extended by org.opencms.widgets.CmsSelectWidgetOption

public class CmsSelectWidgetOption
extends java.lang.Object

An option of a select type widget.

If options are passed from XML content schema definitions as widget configuration options, the following syntax is used for defining the option values:

value='{text}' default='{true|false}' option='{text}' help='{text}|{more option definitions}

For example:

value='value1' default='true' option='option1' help='help1'|value='value2' option='option2' help='help2'

The elements default, option and help are all optional, only a value must be present in the input. There should be only one default set to true in the input, if more than one is detected, only the first default found is actually used. If no option is given, the value of option defaults to the value of the given value. If no help is given, the default is null.

Shortcut syntax options:

If you don't specify the value key, the value is assumed to start at the first position of an option definition. In this case the value must not be surrounded by the ' chars. Example: value='some value' default='true' can also be written as some value default='true'.

Only if you use the short value definition as described above, a default value can be marked with a * at the end of the value definition. Example: value='some value' default='true' can also be written as some value*.

Only if you use the short value definition as described above, you can also append the option to the value using a :. In this case no ' must surround the option. Please keep in mind that in this case the value itself can not longer contain a : char, since it would then be interpreted as a delimiter. Example: value='some value' option='some option' can also be written as some value:some option.

Any combinations of the above described shortcuts are allowed in the configuration option String. Here are some more examples of valid configuration option Strings:

1*|2|3|4|5|6|7
1 default='true'|2|3|4|5|6|7
value='1' default='true'|value='2'|value='3'
value='1'|2*|value='3'
1*:option text|2|3|4
1* option='option text' help='some'|2|3|4

Please note: If an entry in the configuration String is malformed, this error is silently ignored (but written to the log channel of this class at INFOlevel.

Since:
6.0.0
Version:
$Revision: 1.13 $
Author:
Alexander Kandzior

Constructor Summary
CmsSelectWidgetOption(java.lang.String value)
          Creates a new select option for the given value.
CmsSelectWidgetOption(java.lang.String value, boolean isDefault)
          Creates a new select option form the given values.
CmsSelectWidgetOption(java.lang.String value, boolean isDefault, java.lang.String optionText)
          Creates a new select option form the given values.
CmsSelectWidgetOption(java.lang.String value, boolean isDefault, java.lang.String optionText, java.lang.String helpText)
          Creates a new select option form the given values.
 
Method Summary
static java.lang.String createConfigurationString(java.util.List options)
          Returns a select widget configuration String created from the given list of select options.
 boolean equals(java.lang.Object obj)
           
static CmsSelectWidgetOption getDefaultOption(java.util.List options)
          Returns the default option from the given list of select options, or null in case there is no default option in the given list.
static java.util.List getDefaultOptions(java.util.List options)
          Returns a list of default options from the given list of select options.
 java.lang.String getHelp()
          Returns the (optional) help text of this select option.
 java.lang.String getOption()
          Returns the option text of this select option.
 java.lang.String getValue()
          Returns the value of this select option.
 int hashCode()
           
 boolean isDefault()
          Returns true if this is the default value of the selection.
static java.util.List parseOptions(java.lang.String input)
          Parses a widget configuration String for select option values.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CmsSelectWidgetOption

public CmsSelectWidgetOption(java.lang.String value)
Creates a new select option for the given value.

Parameters:
value - the value of this select option

CmsSelectWidgetOption

public CmsSelectWidgetOption(java.lang.String value,
                             boolean isDefault)
Creates a new select option form the given values.

Parameters:
value - the value of this select option
isDefault - indicates if this is the default value of the selection (default is false)

CmsSelectWidgetOption

public CmsSelectWidgetOption(java.lang.String value,
                             boolean isDefault,
                             java.lang.String optionText)
Creates a new select option form the given values.

Parameters:
value - the value of this select option
isDefault - indicates if this is the default value of the selection (default is false)
optionText - the (optional) display text of this select option

CmsSelectWidgetOption

public CmsSelectWidgetOption(java.lang.String value,
                             boolean isDefault,
                             java.lang.String optionText,
                             java.lang.String helpText)
Creates a new select option form the given values.

Parameters:
value - the value of this select option
isDefault - indicates if this is the default value of the selection (default is false)
optionText - the (optional) display text of this select option
helpText - the (optional) help text of this select option
Method Detail

createConfigurationString

public static java.lang.String createConfigurationString(java.util.List options)
Returns a select widget configuration String created from the given list of select options.

If an element found in the given list is not of type CmsSelectWidgetOption, it is ignored.

Parameters:
options - the list of select options to create the configuration String for
Returns:
a select widget configuration String created from the given list of select options

getDefaultOption

public static CmsSelectWidgetOption getDefaultOption(java.util.List options)
Returns the default option from the given list of select options, or null in case there is no default option in the given list.

If an element found in the given list is not of type CmsSelectWidgetOption, this is ignored.

Parameters:
options - the list of select options to get the default from
Returns:
the default option from the given list of select options, or null in case there is no default option

getDefaultOptions

public static java.util.List getDefaultOptions(java.util.List options)
Returns a list of default options from the given list of select options.

If an element found in the given list is not of type CmsSelectWidgetOption, this is ignored.

Parameters:
options - the list of select options to get the default from
Returns:
a list of CmsSelectWidgetOption objects

parseOptions

public static java.util.List parseOptions(java.lang.String input)
Parses a widget configuration String for select option values.

If the input is null or empty, a Collections.EMPTY_LIST is returned.

Please note: No exception is thrown in case the input is malformed, all malformed entries are silently ignored.

Parameters:
input - the widget input string to parse
Returns:
a List of CmsSelectWidgetOption elements

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

getHelp

public java.lang.String getHelp()
Returns the (optional) help text of this select option.

Returns:
the (optional) help text of this select option

getOption

public java.lang.String getOption()
Returns the option text of this select option.

If this has not been set, the result of getValue() is returned, there will always be a result other than null returned.

Returns:
the option text of this select option

getValue

public java.lang.String getValue()
Returns the value of this select option.

Returns:
the value of this select option

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

isDefault

public boolean isDefault()
Returns true if this is the default value of the selection.

Returns:
true if this is the default value of the selection

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()