Groovy Documentation

## org.codehaus.groovy.grails.validation
[Java] Class ConstrainedProperty

    java.lang.Object
      org.codehaus.groovy.grails.validation.ConstrainedProperty

    public class ConstrainedProperty

Provides the ability to set contraints against a properties of a class. Constraints can either be set via the property setters or via the

    applyConstraint(String constraintName, Object constrainingValue)

in combination with a constraint constant. Example: `... ConstrainedProperty cp = new ConstrainedProperty(owningClass, propertyName, propertyType); if (cp.supportsConstraint(ConstrainedProperty.EMAIL_CONSTRAINT)) { cp.applyConstraint(ConstrainedProperty.EMAIL_CONSTRAINT, new Boolean(true)); }` Alternatively constraints can be applied directly using the java bean getters/setters if a static (as oposed to dynamic) approach to constraint creation is possible: `cp.setEmail(true)`

Authors:
  Graeme Rocher

Since:
  07-Nov-2005

Field Summary
`static java.lang.String` | `BLANK_CONSTRAINT`
`static java.lang.String` | `CREDIT_CARD_CONSTRAINT`
`protected static java.util.Map` | `DEFAULT_MESSAGES`
`static java.lang.String` | `EMAIL_CONSTRAINT`
`protected static java.lang.String` | `EXCEEDED_SUFFIX`
`protected static java.lang.String` | `INVALID_SUFFIX`
`static java.lang.String` | `IN_LIST_CONSTRAINT`
`protected static Log` | `LOG`
`static java.lang.String` | `MATCHES_CONSTRAINT`
`static java.lang.String` | `MAX_CONSTRAINT`
`static java.lang.String` | `MAX_SIZE_CONSTRAINT`
`static java.lang.String` | `MIN_CONSTRAINT`
`static java.lang.String` | `MIN_SIZE_CONSTRAINT`
`protected static java.lang.String` | `NOTMET_SUFFIX`
`static java.lang.String` | `NOT_EQUAL_CONSTRAINT`
`protected static java.lang.String` | `NOT_PREFIX`
`static java.lang.String` | `NULLABLE_CONSTRAINT`
`static java.lang.String` | `RANGE_CONSTRAINT`
`static java.lang.String` | `SCALE_CONSTRAINT`
`static java.lang.String` | `SIZE_CONSTRAINT`
`protected static java.lang.String` | `TOOBIG_SUFFIX`
`protected static java.lang.String` | `TOOLONG_SUFFIX`
`protected static java.lang.String` | `TOOSHORT_SUFFIX`
`protected static java.lang.String` | `TOOSMALL_SUFFIX`
`static java.lang.String` | `URL_CONSTRAINT`
`static java.lang.String` | `VALIDATOR_CONSTRAINT`
`protected java.util.Map` | `appliedConstraints`
`protected static java.util.ResourceBundle` | `bundle`
`protected static java.util.Map` | `constraints`
`protected MessageSource` | `messageSource`
`protected java.lang.Class` | `owningClass`
`protected java.lang.String` | `propertyName`
`protected java.lang.Class` | `propertyType`

Constructor Summary
`ConstrainedProperty(java.lang.Class clazz, java.lang.String propertyName, java.lang.Class propertyType)` Constructs a new ConstrainedProperty for the given arguments.

Method Summary
`void` | `addMetaConstraint(java.lang.String name, java.lang.Object value)` Adds a meta constraints which is a non-validating informational constraint.
`void` | `applyConstraint(java.lang.String constraintName, java.lang.Object constrainingValue)` Applies a constraint for the specified name and consraint value.
`Constraint` | `getAppliedConstraint(java.lang.String name)` Obtains an applied constraint by name.
`java.util.Collection` | `getAppliedConstraints()` @return Returns the appliedConstraints.
`java.util.Map` | `getAttributes()`
`java.lang.String` | `getFormat()`
`java.util.List` | `getInList()` @return Returns the inList.
`java.lang.String` | `getMatches()` @return Returns the matches.
`java.lang.Comparable` | `getMax()` @return Returns the max.
`java.lang.Integer` | `getMaxSize()` @return Returns the maxSize.
`java.lang.Object` | `getMetaConstraintValue(java.lang.String name)` Obtains the value of the named meta constraint.
`java.lang.Comparable` | `getMin()` @return Returns the min.
`java.lang.Integer` | `getMinSize()` @return Returns the minSize.
`java.lang.Object` | `getNotEqual()` @return Returns the notEqual.
`int` | `getOrder()` @return Returns the order.
`java.lang.String` | `getPropertyName()` @return Returns the propertyName.
`java.lang.Class` | `getPropertyType()` @return Returns the propertyType.
`groovy.lang.Range` | `getRange()` @return Returns the range.
`java.lang.Integer` | `getScale()` @return The scale, if defined for this property; null, otherwise
`groovy.lang.Range` | `getSize()` @return Returns the size.
`java.lang.String` | `getWidget()`
`boolean` | `hasAppliedConstraint(java.lang.String constraintName)` @param constraintName The name of the constraint to check
`static boolean` | `hasRegisteredConstraint(java.lang.String constraintName)`
`boolean` | `isBlank()` @return Returns the blank.
`boolean` | `isCreditCard()` @return Returns the creditCard.
`boolean` | `isDisplay()` @return Returns the display.
`boolean` | `isEditable()` @return Returns the editable.
`boolean` | `isEmail()` @return Returns the email.
`boolean` | `isNullable()` @return Returns the nullable.
`boolean` | `isPassword()`
`boolean` | `isUrl()` @return Returns the url.
`static void` | `registerNewConstraint(java.lang.String name, java.lang.Class constraintClass)`
`static void` | `registerNewConstraint(java.lang.String name, ConstraintFactory factory)`
`void` | `setAttributes(java.util.Map attributes)`
`void` | `setBlank(boolean blank)` @param blank The blank to set.
`void` | `setCreditCard(boolean creditCard)` @param creditCard The creditCard to set.
`void` | `setDisplay(boolean display)` @param display The display to set.
`void` | `setEditable(boolean editable)` @param editable The editable to set.
`void` | `setEmail(boolean email)` @param email The email to set.
`void` | `setFormat(java.lang.String format)`
`void` | `setInList(java.util.List inList)` @param inList The inList to set.
`void` | `setMatches(java.lang.String regex)` @param regex The matches to set.
`void` | `setMax(java.lang.Comparable max)` @param max The max to set.
`void` | `setMaxSize(java.lang.Integer maxSize)` @param maxSize The maxSize to set.
`void` | `setMessageSource(MessageSource source)` The message source used to evaluate error messages
`void` | `setMin(java.lang.Comparable min)` @param min The min to set.
`void` | `setMinSize(java.lang.Integer minSize)` @param minSize The minLength to set.
`void` | `setNotEqual(java.lang.Object notEqual)` @param notEqual The notEqual to set.
`void` | `setNullable(boolean nullable)` @param nullable The nullable to set.
`void` | `setOrder(int order)` @param order The order to set.
`void` | `setPassword(boolean password)`
`void` | `setPropertyName(java.lang.String propertyName)` @param propertyName The propertyName to set.
`void` | `setRange(groovy.lang.Range range)` @param range The range to set.
`void` | `setSize(groovy.lang.Range size)` @param size The size to set.
`void` | `setUrl(boolean url)` @param url The url to set.
`void` | `setWidget(java.lang.String widget)`
`boolean` | `supportsContraint(java.lang.String constraintName)` Checks with this ConstraintedProperty instance supports applying the specified constraint.
`java.lang.String` | `toString()`
`void` | `validate(java.lang.Object target, java.lang.Object propertyValue, Errors errors)` Validate this constrainted property against specified property value

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Field Detail

### BLANK_CONSTRAINT

    public static final java.lang.String BLANK_CONSTRAINT

### CREDIT_CARD_CONSTRAINT

    public static final java.lang.String CREDIT_CARD_CONSTRAINT

### DEFAULT_MESSAGES

    protected static final java.util.Map DEFAULT_MESSAGES

### EMAIL_CONSTRAINT

    public static final java.lang.String EMAIL_CONSTRAINT

### EXCEEDED_SUFFIX

    protected static final java.lang.String EXCEEDED_SUFFIX

### INVALID_SUFFIX

    protected static final java.lang.String INVALID_SUFFIX

### IN_LIST_CONSTRAINT

    public static final java.lang.String IN_LIST_CONSTRAINT

### LOG

    protected static final Log LOG

### MATCHES_CONSTRAINT

    public static final java.lang.String MATCHES_CONSTRAINT

### MAX_CONSTRAINT

    public static final java.lang.String MAX_CONSTRAINT

### MAX_SIZE_CONSTRAINT

    public static final java.lang.String MAX_SIZE_CONSTRAINT

### MIN_CONSTRAINT

    public static final java.lang.String MIN_CONSTRAINT

### MIN_SIZE_CONSTRAINT

    public static final java.lang.String MIN_SIZE_CONSTRAINT

### NOTMET_SUFFIX

    protected static final java.lang.String NOTMET_SUFFIX

### NOT_EQUAL_CONSTRAINT

    public static final java.lang.String NOT_EQUAL_CONSTRAINT

### NOT_PREFIX

    protected static final java.lang.String NOT_PREFIX

### NULLABLE_CONSTRAINT

    public static final java.lang.String NULLABLE_CONSTRAINT

### RANGE_CONSTRAINT

    public static final java.lang.String RANGE_CONSTRAINT

### SCALE_CONSTRAINT

    public static final java.lang.String SCALE_CONSTRAINT

### SIZE_CONSTRAINT

    public static final java.lang.String SIZE_CONSTRAINT

### TOOBIG_SUFFIX

    protected static final java.lang.String TOOBIG_SUFFIX

### TOOLONG_SUFFIX

    protected static final java.lang.String TOOLONG_SUFFIX

### TOOSHORT_SUFFIX

    protected static final java.lang.String TOOSHORT_SUFFIX

### TOOSMALL_SUFFIX

    protected static final java.lang.String TOOSMALL_SUFFIX

### URL_CONSTRAINT

    public static final java.lang.String URL_CONSTRAINT

### VALIDATOR_CONSTRAINT

    public static final java.lang.String VALIDATOR_CONSTRAINT

### appliedConstraints

    protected java.util.Map appliedConstraints

### bundle

    protected static final java.util.ResourceBundle bundle

### constraints

    protected static java.util.Map constraints

### messageSource

    protected MessageSource messageSource

### owningClass

    protected java.lang.Class owningClass

### propertyName

    protected java.lang.String propertyName

### propertyType

    protected java.lang.Class propertyType

Constructor Detail

### ConstrainedProperty

    public ConstrainedProperty(java.lang.Class clazz, java.lang.String propertyName, java.lang.Class propertyType)

  Constructs a new ConstrainedProperty for the given arguments.
  Parameters:
    `clazz` - The owning class
    `propertyName` - The name of the property
    `propertyType` - The property type

Method Detail

### addMetaConstraint

    public void addMetaConstraint(java.lang.String name, java.lang.Object value)

  Adds a meta constraints which is a non-validating informational constraint.
  Parameters:
    `name` - The name of the constraint
    `value` - The value

### applyConstraint

    public void applyConstraint(java.lang.String constraintName, java.lang.Object constrainingValue)

  Applies a constraint for the specified name and consraint value.
  throws:
    ConstraintException Thrown when the specified constraint is not supported by this ConstrainedProperty. Use `supportsContraint(String constraintName)` to check before calling
  Parameters:
    `constraintName` - The name of the constraint
    `constrainingValue` - The constraining value

### getAppliedConstraint

    public Constraint getAppliedConstraint(java.lang.String name)

  Obtains an applied constraint by name.
  Parameters:
    `name` - The name of the constraint
  Returns:
    The applied constraint

### getAppliedConstraints

    public java.util.Collection getAppliedConstraints()

  Returns:
    Returns the appliedConstraints.

### getAttributes

    @SuppressWarnings("rawtypes")
    public java.util.Map getAttributes()

### getFormat

    public java.lang.String getFormat()

### getInList

    @SuppressWarnings("rawtypes")
    public java.util.List getInList()

  Returns:
    Returns the inList.

### getMatches

    public java.lang.String getMatches()

  Returns:
    Returns the matches.

### getMax

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public java.lang.Comparable getMax()

  Returns:
    Returns the max.

### getMaxSize

    public java.lang.Integer getMaxSize()

  Returns:
    Returns the maxSize.

### getMetaConstraintValue

    public java.lang.Object getMetaConstraintValue(java.lang.String name)

  Obtains the value of the named meta constraint.
  Parameters:
    `name` - The name of the constraint
  Returns:
    The value

### getMin

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public java.lang.Comparable getMin()

  Returns:
    Returns the min.

### getMinSize

    public java.lang.Integer getMinSize()

  Returns:
    Returns the minSize.

### getNotEqual

    public java.lang.Object getNotEqual()

  Returns:
    Returns the notEqual.

### getOrder

    public int getOrder()

  Returns:
    Returns the order.

### getPropertyName

    public java.lang.String getPropertyName()

  Returns:
    Returns the propertyName.

### getPropertyType

    public java.lang.Class getPropertyType()

  Returns:
    Returns the propertyType.

### getRange

    @SuppressWarnings("rawtypes")
    public groovy.lang.Range getRange()

  Returns:
    Returns the range.

### getScale

    public java.lang.Integer getScale()

  Returns:
    The scale, if defined for this property; null, otherwise

### getSize

    @SuppressWarnings("rawtypes")
    public groovy.lang.Range getSize()

  Returns:
    Returns the size.

### getWidget

    public java.lang.String getWidget()

### hasAppliedConstraint

    public boolean hasAppliedConstraint(java.lang.String constraintName)

  Parameters:
    `constraintName` - The name of the constraint to check
  Returns:
    Returns true if the specified constraint name is being applied to this property

### hasRegisteredConstraint

    public static boolean hasRegisteredConstraint(java.lang.String constraintName)

### isBlank

    public boolean isBlank()

  Returns:
    Returns the blank.

### isCreditCard

    public boolean isCreditCard()

  Returns:
    Returns the creditCard.

### isDisplay

    public boolean isDisplay()

  Returns:
    Returns the display.

### isEditable

    public boolean isEditable()

  Returns:
    Returns the editable.

### isEmail

    public boolean isEmail()

  Returns:
    Returns the email.

### isNullable

    public boolean isNullable()

  Returns:
    Returns the nullable.

### isPassword

    public boolean isPassword()

### isUrl

    public boolean isUrl()

  Returns:
    Returns the url.

### registerNewConstraint

    public static void registerNewConstraint(java.lang.String name, java.lang.Class constraintClass)

### registerNewConstraint

    public static void registerNewConstraint(java.lang.String name, ConstraintFactory factory)

### setAttributes

    @SuppressWarnings("rawtypes")
    public void setAttributes(java.util.Map attributes)

### setBlank

    public void setBlank(boolean blank)

  Parameters:
    `blank` - The blank to set.

### setCreditCard

    public void setCreditCard(boolean creditCard)

  Parameters:
    `creditCard` - The creditCard to set.

### setDisplay

    public void setDisplay(boolean display)

  Parameters:
    `display` - The display to set.

### setEditable

    public void setEditable(boolean editable)

  Parameters:
    `editable` - The editable to set.

### setEmail

    public void setEmail(boolean email)

  Parameters:
    `email` - The email to set.

### setFormat

    public void setFormat(java.lang.String format)

### setInList

    @SuppressWarnings("rawtypes")
    public void setInList(java.util.List inList)

  Parameters:
    `inList` - The inList to set.

### setMatches

    public void setMatches(java.lang.String regex)

  Parameters:
    `regex` - The matches to set.

### setMax

    @SuppressWarnings("rawtypes")
    public void setMax(java.lang.Comparable max)

  Parameters:
    `max` - The max to set.

### setMaxSize

    public void setMaxSize(java.lang.Integer maxSize)

  Parameters:
    `maxSize` - The maxSize to set.

### setMessageSource

    public void setMessageSource(MessageSource source)

  The message source used to evaluate error messages
  Parameters:
    `source` - The MessageSource instance to use to resolve messages

### setMin

    @SuppressWarnings("rawtypes")
    public void setMin(java.lang.Comparable min)

  Parameters:
    `min` - The min to set.

### setMinSize

    public void setMinSize(java.lang.Integer minSize)

  Parameters:
    `minSize` - The minLength to set.

### setNotEqual

    public void setNotEqual(java.lang.Object notEqual)

  Parameters:
    `notEqual` - The notEqual to set.

### setNullable

    public void setNullable(boolean nullable)

  Parameters:
    `nullable` - The nullable to set.

### setOrder

    public void setOrder(int order)

  Parameters:
    `order` - The order to set.

### setPassword

    public void setPassword(boolean password)

### setPropertyName

    public void setPropertyName(java.lang.String propertyName)

  Parameters:
    `propertyName` - The propertyName to set.

### setRange

    @SuppressWarnings("rawtypes")
    public void setRange(groovy.lang.Range range)

  Parameters:
    `range` - The range to set.

### setSize

    @SuppressWarnings("rawtypes")
    public void setSize(groovy.lang.Range size)

  Parameters:
    `size` - The size to set.

### setUrl

    public void setUrl(boolean url)

  Parameters:
    `url` - The url to set.

### setWidget

    public void setWidget(java.lang.String widget)

### supportsContraint

    public boolean supportsContraint(java.lang.String constraintName)

  Checks with this ConstraintedProperty instance supports applying the specified constraint.
  Parameters:
    `constraintName` - The name of the constraint
  Returns:
    True if the constraint is supported

### toString

    @Override
    public java.lang.String toString()

### validate

    public void validate(java.lang.Object target, java.lang.Object propertyValue, Errors errors)

  Validate this constrainted property against specified property value
  Parameters:
    `target` - The target object to validate
    `propertyValue` - The value of the property to validate
    `errors` - The Errors instances to report errors to

Groovy Documentation