@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 |
|
protected static java.util.Map<java.lang.String, java.lang.String> |
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 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 |
|
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<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 Params | Return 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