Class ListOfValuesConstraint

java.lang.Object
org.alfresco.repo.dictionary.constraint.AbstractConstraint
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.
Author:
Derek Hulley
See Also:
  • Field Details

  • Constructor Details

    • ListOfValuesConstraint

      public ListOfValuesConstraint()
  • Method Details

    • getType

      public 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 String toString()
      Overrides:
      toString in class Object
    • getAllowedValues

      public List<String> 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 List<String> 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 String getDisplayLabel(String constraintAllowableValue, MessageLookup messageLookup)
      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 - String
      messageLookup - MessageLookup
      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(List<String> allowedValues)
      Set the values that are allowed by the constraint.
      Parameters:
      allowedValues - 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:
    • getParameters

      public Map<String,Object> 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:
    • evaluateSingleValue

      protected void evaluateSingleValue(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: