public abstract static class Validators.ValidatorImpl<T> extends java.lang.Object implements Validator<T>
CLASS_VERSION
Constructor and Description |
---|
ValidatorImpl()
Create a new instance.
|
ValidatorImpl(java.lang.String pErrorCode)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
assertAlphanumeric(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Assert that the value is an alphanumeric string.
|
java.lang.Boolean |
assertBoolean(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext) |
java.util.Date |
assertDateTime(java.lang.String pPropertyName,
java.lang.Object pValue,
boolean pAssertNotNegative,
ValidatorContext<?> pContext)
Assert that the value is a date.
|
java.lang.Double |
assertDouble(java.lang.String pPropertyName,
java.lang.Object pValue,
boolean pAssertNotNegative,
ValidatorContext<?> pContext)
Assert that the value is a double.
|
<C> C |
assertInstanceOf(java.lang.String pPropertyName,
java.lang.Object pValue,
boolean pAllowNull,
java.lang.Class<C> pClass,
ValidatorContext<?> pContext)
Assert that pValue is an instance of the specified type.
|
java.lang.Integer |
assertInteger(java.lang.String pPropertyName,
java.lang.Object pValue,
boolean pAssertNotNegative,
ValidatorContext<?> pContext)
Assert that the value is an integer.
|
java.lang.Long |
assertLong(java.lang.String pPropertyName,
java.lang.Object pValue,
boolean pAssertNotNegative,
ValidatorContext<?> pContext)
Assert that the value is a long.
|
java.lang.String |
assertNotBlankString(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Assert that the value is not a blank String.
|
java.lang.Object |
assertNotEmpty(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Assert that the value is not empty
|
java.lang.Object |
assertNotEmpty(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext,
java.lang.String pErrorText)
Assert that the value is not empty
|
java.lang.Object |
assertNotNull(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Assert that the value is not null.
|
java.lang.Object |
assertNotNull(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext,
java.lang.String pErrorText)
Assert that the value is not null.
|
java.lang.String |
assertString(java.lang.String pPropertyName,
java.lang.Object pValue,
int pMaxLength,
boolean pTrim,
ValidatorContext<?> pContext)
Assert that the value is a string and check its max length.
|
java.lang.String |
assertString(java.lang.String pPropertyName,
java.lang.Object pValue,
int pMaxLength,
ValidatorContext<?> pContext)
Assert that the value is a string and check its max length.
|
java.lang.String |
assertString(java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Assert that the value is a string
|
<C> C |
createInstance(java.lang.String pPropertyName,
java.lang.Class<C> pClass)
Create an instance of the specified class as a part of setting/updating
property pPropertyName.
|
protected java.lang.Object |
getBeanPropertyValueForValidation(java.lang.Object pBean,
java.lang.String pPropertyName)
Get the bean property value for update.
|
java.lang.String |
getErrorCode()
Returns property errorCode.
|
protected java.lang.String |
getNameForClass(java.lang.Class<?> pClass)
Get the name for the specified path to report back to the user
for an assertInstanceOf failure.
|
java.util.Set<java.lang.String> |
getPropertyNames(java.lang.Object pObject)
Get the property names of the specified object.
|
<V> V |
getPropertyValue(java.lang.Object pBean,
java.lang.String pPropertyName)
Used DynamicBeans to get the specified property value.
|
<V> V |
getPropertyValue(java.lang.Object pBean,
java.lang.String pPropertyName,
boolean pAllowSubProperties,
java.lang.Class<V> pExpectedClass)
Used DynamicBeans to set the specified property value.
|
boolean |
hasProperty(java.lang.Object pObject,
java.lang.String pPropertyName)
Return whether the specified object has the specified property.
|
boolean |
isDigits(java.lang.String pDigits)
Return whether the specified string is composed only of digits, and
is non-empty.
|
boolean |
isRequired(ValidatorContext<?> pContext,
Validators.RequiredOption pRequired)
Implements default logic for combining a RequiredOption with
ValidatorContext to determine if a property is required.
|
boolean |
keyMustBePresent(ValidatorContext<?> pContext,
java.lang.String pPropertyName,
java.lang.Object pSource,
java.lang.Object pTarget,
boolean pIsBean) |
void |
setErrorCode(java.lang.String pErrorCode)
Sets property errorCode.
|
void |
setPropertyValue(java.lang.Object pBean,
java.lang.String pPropertyName,
java.lang.Object pValue,
ValidatorContext<?> pContext)
Used DynamicBeans to set the specified property value.
|
T |
validateBeanProperty(java.lang.String pPropertyName,
java.lang.Object pBean,
ValidatorContext<?> pContext)
Validate a property of the bean pPropertyValue.
|
T |
validateValue(java.lang.String pPropertyName,
java.lang.Object pPropertyValue,
ValidatorContext<?> pContext)
Validate (and possibly convert) the specified property value.
|
public ValidatorImpl()
public ValidatorImpl(java.lang.String pErrorCode)
pErrorCode
- the error code to use for errors.public void setErrorCode(java.lang.String pErrorCode)
public java.lang.String getErrorCode()
public T validateValue(java.lang.String pPropertyName, java.lang.Object pPropertyValue, ValidatorContext<?> pContext)
Validator
validateValue
in interface Validator<T>
pPropertyName
- the name of the property being validated. This
is typically used as a key for fetching the value from pProperties.pPropertyValue
- the fetched property valuepContext
- the current validation context.public T validateBeanProperty(java.lang.String pPropertyName, java.lang.Object pBean, ValidatorContext<?> pContext)
validateBeanProperty
in interface Validator<T>
pPropertyName
- the property of pBean to validatepBean
- the bean to fetch pPropertyName from and validatepContext
- the current validation context.protected java.lang.Object getBeanPropertyValueForValidation(java.lang.Object pBean, java.lang.String pPropertyName) throws PropertyNotFoundException
pBean
- the bean to get the property value frompPropertyName
- the name of the property whose value should be fetched.PropertyNotFoundException
public boolean keyMustBePresent(ValidatorContext<?> pContext, java.lang.String pPropertyName, java.lang.Object pSource, java.lang.Object pTarget, boolean pIsBean)
public java.lang.Boolean assertBoolean(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
public <C> C assertInstanceOf(java.lang.String pPropertyName, java.lang.Object pValue, boolean pAllowNull, java.lang.Class<C> pClass, ValidatorContext<?> pContext)
pPropertyName
- the property name in questionpValue
- the value to checkpAllowNull
- whether a null value is allowedpClass
- the class which pValue must be an instance ofpContext
- the current validation context.protected java.lang.String getNameForClass(java.lang.Class<?> pClass)
pClass
- the class whose name to return.public java.lang.Integer assertInteger(java.lang.String pPropertyName, java.lang.Object pValue, boolean pAssertNotNegative, ValidatorContext<?> pContext)
pPropertyName
- the property name to use.pAssertNotNegative
- if true, only accept non-negative values.pContext
- the validator context.public java.lang.Long assertLong(java.lang.String pPropertyName, java.lang.Object pValue, boolean pAssertNotNegative, ValidatorContext<?> pContext)
pPropertyName
- the property name to use.pAssertNotNegative
- if true, only accept non-negative values.pContext
- the validator context.public java.lang.Double assertDouble(java.lang.String pPropertyName, java.lang.Object pValue, boolean pAssertNotNegative, ValidatorContext<?> pContext)
pPropertyName
- the property name to use.pAssertNotNegative
- if true, only accept non-negative values.pContext
- the validator context.public java.util.Date assertDateTime(java.lang.String pPropertyName, java.lang.Object pValue, boolean pAssertNotNegative, ValidatorContext<?> pContext)
pPropertyName
- the property name to use.pAssertNotNegative
- if true, only accept non-negative values.pContext
- the validator context.public boolean isDigits(java.lang.String pDigits)
pDigits
- the string to check.public java.lang.Object assertNotNull(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.public java.lang.Object assertNotNull(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext, java.lang.String pErrorText)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.pErrorText
- the error text to use, or null to use
the default error text.public java.lang.Object assertNotEmpty(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.public java.lang.Object assertNotEmpty(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext, java.lang.String pErrorText)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.pErrorText
- the error text to use, or null to use
the default error text.public java.lang.String assertString(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.public java.lang.String assertString(java.lang.String pPropertyName, java.lang.Object pValue, int pMaxLength, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpMaxLength
- the maximum length of the string. -1 means
no maximum length.pContext
- the current validator context.public java.lang.String assertString(java.lang.String pPropertyName, java.lang.Object pValue, int pMaxLength, boolean pTrim, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpMaxLength
- the maximum length of the string. -1 means
no maximum length.pTrim
- trim off leading and trailing whitespace.pContext
- the current validator context.public java.lang.String assertNotBlankString(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.public java.lang.Object assertAlphanumeric(java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext)
pPropertyName
- the property namepValue
- the value to checkpContext
- the current validator context.public void setPropertyValue(java.lang.Object pBean, java.lang.String pPropertyName, java.lang.Object pValue, ValidatorContext<?> pContext) throws PropertyNotFoundException
pBean
- the bean to set the property on.pPropertyName
- the name of the value.pValue
- the value to set.PropertyNotFoundException
- if the
property value could not be set.public <V> V getPropertyValue(java.lang.Object pBean, java.lang.String pPropertyName) throws PropertyNotFoundException
pBean
- the bean to set the property onpPropertyName
- the name of the valuePropertyNotFoundException
- if the
property value could not be set.public <V> V getPropertyValue(java.lang.Object pBean, java.lang.String pPropertyName, boolean pAllowSubProperties, java.lang.Class<V> pExpectedClass) throws PropertyNotFoundException, java.lang.IllegalArgumentException
pBean
- the bean to set the property onpPropertyName
- the name of the valuepAllowSubProperties
- Allow the setting of the value of a sub-property.pExpectedClass
- the expected class the property should
be an instance of (if any).PropertyNotFoundException
- if the
property value could not be set.java.lang.IllegalArgumentException
public boolean hasProperty(java.lang.Object pObject, java.lang.String pPropertyName) throws java.beans.IntrospectionException
pObject
- the (possibly dynamic) bean to check for a property.pPropertyName
- the property name.java.beans.IntrospectionException
public java.util.Set<java.lang.String> getPropertyNames(java.lang.Object pObject) throws java.beans.IntrospectionException
pObject
- the (possibly dynamic) bean to get property namesjava.beans.IntrospectionException
public <C> C createInstance(java.lang.String pPropertyName, java.lang.Class<C> pClass) throws java.beans.IntrospectionException
pPropertyName
- the name of the property the new instance is being
created for.pClass
- the class the new property is being created for.java.beans.IntrospectionException
- if things go wrong.public boolean isRequired(ValidatorContext<?> pContext, Validators.RequiredOption pRequired)
pContext
- the current validator context.pRequired
- a required option.