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