org.alfresco.repo.dictionary.constraint
Class ListOfValuesConstraint

java.lang.Object
  extended by org.alfresco.repo.dictionary.constraint.AbstractConstraint
      extended by org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint
All Implemented Interfaces:
Constraint

public class ListOfValuesConstraint
extends AbstractConstraint

Constraint implementation that ensures the value is one of a constrained list of values. By default, this constraint is case-sensitive.

See Also:
ListOfValuesConstraint.setAllowedValues(List), ListOfValuesConstraint.setCaseSensitive(boolean)

Field Summary
static java.lang.String ALLOWED_VALUES_PARAM
           
static java.lang.String CASE_SENSITIVE_PARAM
           
protected  boolean caseSensitive
           
static java.lang.String CONSTRAINT_TYPE
           
protected  boolean sorted
           
static java.lang.String SORTED_PARAM
           
 
Fields inherited from class org.alfresco.repo.dictionary.constraint.AbstractConstraint
ERR_EVALUATE_EXCEPTION, ERR_PROP_NOT_SET
 
Constructor Summary
ListOfValuesConstraint()
           
 
Method Summary
protected  void evaluateSingleValue(java.lang.Object value)
          Support for evaluation of properties.
 java.util.List getAllowedValues()
          Get the allowed values.
 java.lang.String getDisplayLabel(java.lang.String constraintAllowableValue)
          Get the display label for the specified allowable value in this constraint.
 java.util.Map getParameters()
          Returns the parameters passed to the instance of the constraint.
protected  java.util.List getRawAllowedValues()
          Get the allowed values.
 java.lang.String getType()
          Returns the 'type' of the constraint, this is the identifier given to constraint in the configuration.
 void initialize()
          Initializes the constraint with appropriate values, which will depend on the implementation itself.
 boolean isCaseSensitive()
           
 boolean isSorted()
          Indicates whether the list of values are sorted or not.
 void setAllowedValues(java.util.List allowedValues)
          Set the values that are allowed by the constraint.
 void setCaseSensitive(boolean caseSensitive)
          Set the handling of case checking.
 void setSorted(boolean sorted)
          Set whether the values are ordered or not.
 java.lang.String toString()
           
 
Methods inherited from class org.alfresco.repo.dictionary.constraint.AbstractConstraint
checkPropertyNotNull, evaluate, evaluateCollection, getShortName, getTitle, set_shortName, setRegistry, setShortName, setTitle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONSTRAINT_TYPE

public static final java.lang.String CONSTRAINT_TYPE
See Also:
Constant Field Values

CASE_SENSITIVE_PARAM

public static final java.lang.String CASE_SENSITIVE_PARAM
See Also:
Constant Field Values

ALLOWED_VALUES_PARAM

public static final java.lang.String ALLOWED_VALUES_PARAM
See Also:
Constant Field Values

SORTED_PARAM

public static final java.lang.String SORTED_PARAM
See Also:
Constant Field Values

caseSensitive

protected boolean caseSensitive

sorted

protected boolean sorted
Constructor Detail

ListOfValuesConstraint

public ListOfValuesConstraint()
Method Detail

getType

public java.lang.String getType()
Returns the 'type' of the constraint, this is the identifier given to constraint in the configuration.

Specified by:
getType in interface Constraint
Overrides:
getType in class AbstractConstraint
Returns:
The type

toString

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

getAllowedValues

public java.util.List getAllowedValues()
Get the allowed values. Note that these are String instances, but may represent non-String values. It is up to the caller to distinguish. Sorts list if appropriate.

Returns:
Returns the values allowed

getRawAllowedValues

protected java.util.List getRawAllowedValues()
Get the allowed values. Note that these are String instances, but may represent non-String values. It is up to the caller to distinguish.

Returns:
Returns the values allowed

getDisplayLabel

public java.lang.String getDisplayLabel(java.lang.String constraintAllowableValue)
Get the display label for the specified allowable value in this constraint. A key is constructed as follows:
   "listconstraint." + constraintName + "." + constraintAllowableValue.
   e.g. listconstraint.test_listConstraintOne.VALUE_ONE.
 
This key is then used to look up a properties bundle for the localised display label. Spaces are allowed in the keys, but they should be escaped in the properties file as follows:
 listconstraint.test_listConstraintOne.VALUE\ WITH\ SPACES=Display label
 

Parameters:
constraintAllowableValue -
Returns:
the localised display label for the specified constraint value in the current locale. If no localisation is defined, it will return the allowed value itself. If the specified allowable value is not in the model, returns null.
Since:
4.0
See Also:
I18NUtil.getLocale()

setAllowedValues

public void setAllowedValues(java.util.List allowedValues)
Set the values that are allowed by the constraint.

Parameters:
values - a list of allowed values

isCaseSensitive

public boolean isCaseSensitive()
Returns:
Returns true if this constraint is case-sensitive (default)

setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)
Set the handling of case checking.

Parameters:
caseSensitive - true if the constraint is case-sensitive (default), or false for case-insensitive.

isSorted

public boolean isSorted()
Indicates whether the list of values are sorted or not.

Returns:
true if sorted, false otherwise

setSorted

public void setSorted(boolean sorted)
Set whether the values are ordered or not.

Parameters:
sorted - true if sorted, false otherwise

initialize

public void initialize()
Description copied from class: AbstractConstraint
Initializes the constraint with appropriate values, which will depend on the implementation itself. This method can be implemented as a once-off, i.e. reinitialization does not have to be supported.

Registers the constraint with the registry, if present. Call this method if you want the constraint to be auto-registered.

Specified by:
initialize in interface Constraint
Overrides:
initialize in class AbstractConstraint
See Also:
AbstractConstraint.initialize()

getParameters

public java.util.Map getParameters()
Description copied from interface: Constraint
Returns the parameters passed to the instance of the constraint.

Specified by:
getParameters in interface Constraint
Overrides:
getParameters in class AbstractConstraint
Returns:
Map of parameters or an empty Map if none exist
See Also:
AbstractConstraint.getParameters()

evaluateSingleValue

protected void evaluateSingleValue(java.lang.Object value)
Description copied from class: AbstractConstraint
Support for evaluation of properties. The value passed in will never be a Collection and will never be null.

Specified by:
evaluateSingleValue in class AbstractConstraint
See Also:
AbstractConstraint.evaluateSingleValue(java.lang.Object)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.