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 class
GeneralValidatorImpl.LocaleSpecificMessageInterpolator
protected static class
GeneralValidatorImpl.SimpleMethodFilter
A filter implementation filtering methods matching given methods.
-
Field Summary
Fields Modifier and Type Field Description static String
SUPPRESS_VIOLATION_PATH
-
Constructor Summary
Constructors Constructor Description GeneralValidatorImpl(jakarta.validation.ValidatorFactory validatorFactory, boolean isExecutableValidationEnabled, Set<jakarta.validation.executable.ExecutableType> defaultValidatedExecutableTypes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkForConstraintViolations(HttpRequest request, Exception e)
Throws a ResteasyViolationException if either a ConstraintViolationException or a ResteasyConstraintViolationException is embedded in the cause hierarchy of e.void
checkViolations(HttpRequest request)
Throws a ResteasyViolationException if any validation violations have been detected.void
checkViolationsfromCDI(HttpRequest request)
Throws a ResteasyViolationException if any validation violations have been detected.protected static String
convertArrayToString(Object o)
protected static jakarta.validation.executable.ExecutableType[]
getExecutableTypesOnMethod(Method method)
protected List<jakarta.validation.executable.ExecutableType[]>
getExecutableTypesOnMethodInHierarchy(Method method)
protected List<jakarta.validation.executable.ExecutableType[]>
getExecutableTypesOnMethodInInterfaces(Class<?> clazz, Method method)
protected Method
getSuperMethod(Method method, Class<?> clazz)
Returns a super method, if any, of a method in a class.protected jakarta.validation.Validator
getValidator(HttpRequest request)
protected SimpleViolationsContainer
getViolationsContainer(HttpRequest request, Object target)
protected static boolean
isGetter(Method m)
boolean
isMethodValidatable(Method m)
Indicates if validation is turned on for a method.boolean
isValidatable(Class<?> clazz)
Indicates if validation is turned on for a class.boolean
isValidatable(Class<?> clazz, InjectorFactory injectorFactory)
Indicates if validation is turned on for a class.boolean
isValidatableFromCDI(Class<?> clazz)
Indicates if validation is turned on for a class.protected boolean
overrides(Method subTypeMethod, Method superTypeMethod)
Checks, whethersubTypeMethod
overridessuperTypeMethod
.protected boolean
parametersResolveToSameTypes(Method subTypeMethod, Method superTypeMethod)
Taken from Hibernate Validatorvoid
validate(HttpRequest request, Object object, Class<?>... groups)
Validates all constraints onobject
.void
validateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups)
Validates all constraints placed on the parameters of the given method.void
validateReturnValue(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(jakarta.validation.ValidatorFactory validatorFactory, boolean isExecutableValidationEnabled, Set<jakarta.validation.executable.ExecutableType> defaultValidatedExecutableTypes)
-
-
Method Detail
-
validate
public void validate(HttpRequest request, Object object, Class<?>... groups)
Description copied from interface:GeneralValidator
Validates all constraints onobject
.- Specified by:
validate
in 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:GeneralValidator
Throws a ResteasyViolationException if any validation violations have been detected.- Specified by:
checkViolations
in interfaceGeneralValidator
- Parameters:
request
- http request
-
checkViolationsfromCDI
public void checkViolationsfromCDI(HttpRequest request)
Description copied from interface:GeneralValidatorCDI
Throws a ResteasyViolationException if any validation violations have been detected. The method should be called only from the resteasy-cdi module.- Specified by:
checkViolationsfromCDI
in interfaceGeneralValidatorCDI
- Parameters:
request
- http request
-
validateAllParameters
public void validateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups)
Description copied from interface:GeneralValidator
Validates all constraints placed on the parameters of the given method.- Specified by:
validateAllParameters
in 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:GeneralValidator
Validates all return value constraints of the given method.- Specified by:
validateReturnValue
in 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:GeneralValidator
Indicates if validation is turned on for a class.- Specified by:
isValidatable
in 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:GeneralValidatorCDI
Indicates 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:
isValidatable
in 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:GeneralValidatorCDI
Indicates if validation is turned on for a class. This method should be called only from the resteasy-cdi module.- Specified by:
isValidatableFromCDI
in 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:GeneralValidator
Indicates if validation is turned on for a method.- Specified by:
isMethodValidatable
in interfaceGeneralValidator
- Parameters:
m
- method to be examined- Returns:
- true if and only if validation is turned on for method
-
getExecutableTypesOnMethodInHierarchy
protected List<jakarta.validation.executable.ExecutableType[]> getExecutableTypesOnMethodInHierarchy(Method method)
-
getExecutableTypesOnMethodInInterfaces
protected List<jakarta.validation.executable.ExecutableType[]> getExecutableTypesOnMethodInInterfaces(Class<?> clazz, Method method)
-
getExecutableTypesOnMethod
protected static jakarta.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, whethersubTypeMethod
overridessuperTypeMethod
. 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
true
ifsubTypeMethod
overridessuperTypeMethod
,false
otherwise. 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:GeneralValidatorCDI
Throws a ResteasyViolationException if either a ConstraintViolationException or a ResteasyConstraintViolationException is embedded in the cause hierarchy of e.- Specified by:
checkForConstraintViolations
in interfaceGeneralValidatorCDI
- Parameters:
request
- http requeste
- exception
-
getValidator
protected jakarta.validation.Validator getValidator(HttpRequest request)
-
getViolationsContainer
protected SimpleViolationsContainer getViolationsContainer(HttpRequest request, Object target)
-
-