Class GeneralValidatorImpl
- java.lang.Object
-
- org.jboss.resteasy.plugins.validation.GeneralValidatorImpl
-
- All Implemented Interfaces:
GeneralValidator,GeneralValidatorCDI
public class GeneralValidatorImpl extends Object implements GeneralValidatorCDI
- Version:
- $Revision: 1.1 $ Copyright May 23, 2013
- Author:
- Ron Sigal
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classGeneralValidatorImpl.LocaleSpecificMessageInterpolatorprotected static classGeneralValidatorImpl.SimpleMethodFilterA filter implementation filtering methods matching given methods.
-
Field Summary
Fields Modifier and Type Field Description static StringSUPPRESS_VIOLATION_PATH
-
Constructor Summary
Constructors Constructor Description GeneralValidatorImpl(javax.validation.ValidatorFactory validatorFactory, boolean isExecutableValidationEnabled, Set<javax.validation.executable.ExecutableType> defaultValidatedExecutableTypes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckForConstraintViolations(HttpRequest request, Exception e)Throws a ResteasyViolationException if either a ConstraintViolationException or a ResteasyConstraintViolationException is embedded in the cause hierarchy of e.voidcheckViolations(HttpRequest request)Throws a ResteasyViolationException if any validation violations have been detected.voidcheckViolationsfromCDI(HttpRequest request)Throws a ResteasyViolationException if any validation violations have been detected.protected static StringconvertArrayToString(Object o)protected static javax.validation.executable.ExecutableType[]getExecutableTypesOnMethod(Method method)protected List<javax.validation.executable.ExecutableType[]>getExecutableTypesOnMethodInHierarchy(Method method)protected List<javax.validation.executable.ExecutableType[]>getExecutableTypesOnMethodInInterfaces(Class<?> clazz, Method method)protected MethodgetSuperMethod(Method method, Class<?> clazz)Returns a super method, if any, of a method in a class.protected javax.validation.ValidatorgetValidator(HttpRequest request)protected SimpleViolationsContainergetViolationsContainer(HttpRequest request, Object target)protected static booleanisGetter(Method m)booleanisMethodValidatable(Method m)Indicates if validation is turned on for a method.booleanisValidatable(Class<?> clazz)Indicates if validation is turned on for a class.booleanisValidatable(Class<?> clazz, InjectorFactory injectorFactory)Indicates if validation is turned on for a class.booleanisValidatableFromCDI(Class<?> clazz)Indicates if validation is turned on for a class.protected booleanoverrides(Method subTypeMethod, Method superTypeMethod)Checks, whethersubTypeMethodoverridessuperTypeMethod.protected booleanparametersResolveToSameTypes(Method subTypeMethod, Method superTypeMethod)Taken from Hibernate Validatorvoidvalidate(HttpRequest request, Object object, Class<?>... groups)Validates all constraints onobject.voidvalidateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups)Validates all constraints placed on the parameters of the given method.voidvalidateReturnValue(HttpRequest request, Object object, Method method, Object returnValue, Class<?>... groups)Validates all return value constraints of the given method.
-
-
-
Field Detail
-
SUPPRESS_VIOLATION_PATH
public static final String SUPPRESS_VIOLATION_PATH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GeneralValidatorImpl
public GeneralValidatorImpl(javax.validation.ValidatorFactory validatorFactory, boolean isExecutableValidationEnabled, Set<javax.validation.executable.ExecutableType> defaultValidatedExecutableTypes)
-
-
Method Detail
-
validate
public void validate(HttpRequest request, Object object, Class<?>... groups)
Description copied from interface:GeneralValidatorValidates all constraints onobject.- Specified by:
validatein interfaceGeneralValidator- Parameters:
request- http requestobject- object to validategroups- the group or list of groups targeted for validation (defaults toDefault)
-
checkViolations
public void checkViolations(HttpRequest request)
Description copied from interface:GeneralValidatorThrows a ResteasyViolationException if any validation violations have been detected.- Specified by:
checkViolationsin interfaceGeneralValidator- Parameters:
request- http request
-
checkViolationsfromCDI
public void checkViolationsfromCDI(HttpRequest request)
Description copied from interface:GeneralValidatorCDIThrows a ResteasyViolationException if any validation violations have been detected. The method should be called only from the resteasy-cdi module.- Specified by:
checkViolationsfromCDIin interfaceGeneralValidatorCDI- Parameters:
request- http request
-
validateAllParameters
public void validateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups)
Description copied from interface:GeneralValidatorValidates all constraints placed on the parameters of the given method.- Specified by:
validateAllParametersin interfaceGeneralValidator- Parameters:
request- http requestobject- the object on which the method to validate is invokedmethod- the method for which the parameter constraints is validatedparameterValues- the values provided by the caller for the given method's parametersgroups- the group or list of groups targeted for validation (defaults toDefault)
-
validateReturnValue
public void validateReturnValue(HttpRequest request, Object object, Method method, Object returnValue, Class<?>... groups)
Description copied from interface:GeneralValidatorValidates all return value constraints of the given method.- Specified by:
validateReturnValuein interfaceGeneralValidator- Parameters:
request- http requestobject- the object on which the method to validate is invokedmethod- the method for which the return value constraints is validatedreturnValue- the value returned by the given methodgroups- the group or list of groups targeted for validation (defaults toDefault)
-
isValidatable
public boolean isValidatable(Class<?> clazz)
Description copied from interface:GeneralValidatorIndicates if validation is turned on for a class.- Specified by:
isValidatablein interfaceGeneralValidator- Parameters:
clazz- Class to be examined- Returns:
- true if and only if validation is turned on for clazz
-
isValidatable
public boolean isValidatable(Class<?> clazz, InjectorFactory injectorFactory)
Description copied from interface:GeneralValidatorCDIIndicates if validation is turned on for a class. This method should be called from the resteasy-jaxrs module. It should test if injectorFactor is an instance of CdiInjectorFactory, which indicates that CDI is active. If so, it should return false. Otherwise, it should return the same value returned by GeneralValidator.isValidatable().- Specified by:
isValidatablein interfaceGeneralValidatorCDI- Parameters:
clazz- Class to be examinedinjectorFactory- the InjectorFactory used for clazz- Returns:
- true if and only if validation is turned on for clazz
-
isValidatableFromCDI
public boolean isValidatableFromCDI(Class<?> clazz)
Description copied from interface:GeneralValidatorCDIIndicates if validation is turned on for a class. This method should be called only from the resteasy-cdi module.- Specified by:
isValidatableFromCDIin interfaceGeneralValidatorCDI- Parameters:
clazz- Class to be examined- Returns:
- true if and only if validation is turned on for clazz
-
isMethodValidatable
public boolean isMethodValidatable(Method m)
Description copied from interface:GeneralValidatorIndicates if validation is turned on for a method.- Specified by:
isMethodValidatablein interfaceGeneralValidator- Parameters:
m- method to be examined- Returns:
- true if and only if validation is turned on for method
-
getExecutableTypesOnMethodInHierarchy
protected List<javax.validation.executable.ExecutableType[]> getExecutableTypesOnMethodInHierarchy(Method method)
-
getExecutableTypesOnMethodInInterfaces
protected List<javax.validation.executable.ExecutableType[]> getExecutableTypesOnMethodInInterfaces(Class<?> clazz, Method method)
-
getExecutableTypesOnMethod
protected static javax.validation.executable.ExecutableType[] getExecutableTypesOnMethod(Method method)
-
isGetter
protected static boolean isGetter(Method m)
-
getSuperMethod
protected Method getSuperMethod(Method method, Class<?> clazz)
Returns a super method, if any, of a method in a class. Here, the "super" relationship is reflexive. That is, a method is a super method of itself.
-
overrides
protected boolean overrides(Method subTypeMethod, Method superTypeMethod)
Checks, whethersubTypeMethodoverridessuperTypeMethod. N.B. "Override" here is reflexive. I.e., a method overrides itself.- Parameters:
subTypeMethod- The sub type method (cannot benull).superTypeMethod- The super type method (cannot benull).- Returns:
- Returns
trueifsubTypeMethodoverridessuperTypeMethod,falseotherwise. Taken from Hibernate Validator
-
parametersResolveToSameTypes
protected boolean parametersResolveToSameTypes(Method subTypeMethod, Method superTypeMethod)
Taken from Hibernate Validator
-
checkForConstraintViolations
public void checkForConstraintViolations(HttpRequest request, Exception e)
Description copied from interface:GeneralValidatorCDIThrows a ResteasyViolationException if either a ConstraintViolationException or a ResteasyConstraintViolationException is embedded in the cause hierarchy of e.- Specified by:
checkForConstraintViolationsin interfaceGeneralValidatorCDI- Parameters:
request- http requeste- exception
-
getValidator
protected javax.validation.Validator getValidator(HttpRequest request)
-
getViolationsContainer
protected SimpleViolationsContainer getViolationsContainer(HttpRequest request, Object target)
-
-