@java.lang.SuppressWarnings("serial")
public class ConstrainedProperty
extends java.lang.Object
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)
| Modifiers | Name | Description |
|---|---|---|
static java.lang.String |
BLANK_CONSTRAINT |
|
static java.lang.String |
CREDIT_CARD_CONSTRAINT |
|
static java.lang.String |
DEFAULT_BLANK_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_DOESNT_MATCH_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_CREDIT_CARD_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_EMAIL_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_MAX_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_MAX_SIZE_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_MIN_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_MIN_SIZE_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_RANGE_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_SIZE_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_URL_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_INVALID_VALIDATOR_MESSAGE_CODE |
|
protected static java.util.Map<java.lang.String, java.lang.String> |
DEFAULT_MESSAGES |
|
static java.lang.String |
DEFAULT_NOT_EQUAL_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_NOT_INLIST_MESSAGE_CODE |
|
static java.lang.String |
DEFAULT_NULL_MESSAGE_CODE |
|
static java.lang.String |
EMAIL_CONSTRAINT |
|
static java.lang.String |
EXCEEDED_SUFFIX |
|
static java.lang.String |
INVALID_SUFFIX |
|
static java.lang.String |
IN_LIST_CONSTRAINT |
|
protected static org.apache.commons.logging.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 |
|
static java.lang.String |
NOTMET_SUFFIX |
|
static java.lang.String |
NOT_EQUAL_CONSTRAINT |
|
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 |
|
static java.lang.String |
TOOBIG_SUFFIX |
|
static java.lang.String |
TOOLONG_SUFFIX |
|
static java.lang.String |
TOOSHORT_SUFFIX |
|
static java.lang.String |
TOOSMALL_SUFFIX |
|
static java.lang.String |
URL_CONSTRAINT |
|
static java.lang.String |
VALIDATOR_CONSTRAINT |
|
protected java.util.Map<java.lang.String, Constraint> |
appliedConstraints |
|
protected static java.util.ResourceBundle |
bundle |
|
protected static java.util.Map<java.lang.String, java.util.List<java.lang.Object>> |
constraints |
|
protected org.springframework.context.MessageSource |
messageSource |
|
protected java.lang.Class<?> |
owningClass |
|
protected java.lang.String |
propertyName |
|
protected java.lang.Class<?> |
propertyType |
| Constructor and description |
|---|
ConstrainedProperty
(java.lang.Class<?> clazz, java.lang.String propertyName, java.lang.Class<?> propertyType)Constructs a new ConstrainedProperty for the given arguments. |
| Type | Name and description |
|---|---|
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<Constraint> |
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.Class |
getOwner() |
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 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) |
static void |
removeConstraint(java.lang.String name, java.lang.Class<?> constraintClass) |
static void |
removeConstraint(java.lang.String name) |
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(org.springframework.context.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, org.springframework.validation.Errors errors)Validate this constrainted property against specified property value |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), 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() |
Constructs a new ConstrainedProperty for the given arguments.
clazz - The owning classpropertyName - The name of the propertypropertyType - The property typeAdds a meta constraints which is a non-validating informational constraint.
name - The name of the constraintvalue - The valueApplies a constraint for the specified name and consraint value.
supportsContraint(String constraintName) to check before callingconstraintName - The name of the constraintconstrainingValue - The constraining valueObtains an applied constraint by name.
name - The name of the constraint
Obtains the value of the named meta constraint.
name - The name of the constraint
constraintName - The name of the constraint to check
blank - The blank to set.
creditCard - The creditCard to set.
display - The display to set.
editable - The editable to set.
email - The email to set.
inList - The inList to set.
regex - The matches to set.
max - The max to set.
maxSize - The maxSize to set.The message source used to evaluate error messages
source - The MessageSource instance to use to resolve messages
min - The min to set.
minSize - The minLength to set.
notEqual - The notEqual to set.
nullable - The nullable to set.
order - The order to set.
propertyName - The propertyName to set.
range - The range to set.
size - The size to set.
url - The url to set.Checks with this ConstraintedProperty instance supports applying the specified constraint.
constraintName - The name of the constraintValidate this constrainted property against specified property value
target - The target object to validatepropertyValue - The value of the property to validateerrors - The Errors instances to report errors to