public class BeanValidationInterceptor extends MethodFilterInterceptor
Bean Validation interceptor. This Interceptor does not itself provide any Bean validation functionality but works as a bridge between Bean validation implementations like Apache Bval or Hibernate Validator and Struts2 validation mechanism.
Interceptor will create a Validation Factory based on the provider class and will validate requested method or Action class. Hibernate bean validator will be used as a default validator in case of no provider class will be supplied to the interceptor.
Modifier and Type | Field and Description |
---|---|
protected BeanValidationManager |
beanValidationManager |
protected String |
convertFromEncoding |
protected boolean |
convertToUtf8 |
protected TextProviderFactory |
textProviderFactory |
excludeMethods, includeMethods
Constructor and Description |
---|
BeanValidationInterceptor() |
Modifier and Type | Method and Description |
---|---|
protected void |
addBeanValidationErrors(Set<javax.validation.ConstraintViolation<Object>> constraintViolations,
Object action) |
protected org.apache.struts.beanvalidation.validation.interceptor.BeanValidationInterceptor.ValidationError |
buildBeanValidationError(javax.validation.ConstraintViolation<Object> violation,
String message) |
protected String |
doIntercept(ActionInvocation invocation) |
protected Method |
getActionMethod(Class<?> actionClass,
String methodName)
This is copied from DefaultActionInvocation
|
protected Class<?>[] |
getValidationGroups(Object action,
String methodName) |
protected boolean |
isActionError(javax.validation.ConstraintViolation<Object> violation)
Decide if a violation should be added to the fieldErrors or actionErrors
|
protected void |
performBeanValidation(Object action,
javax.validation.Validator validator,
Class<?>[] groups) |
void |
setBeanValidationManager(BeanValidationManager beanValidationManager) |
void |
setConvertFromEncoding(String convertFromEncoding) |
void |
setConvertToUtf8(String convertToUtf8) |
void |
setTextProviderFactory(TextProviderFactory textProviderFactory) |
applyInterceptor, getExcludeMethodsSet, getIncludeMethodsSet, intercept, setExcludeMethods, setIncludeMethods
destroy, init, setDisabled, shouldIntercept
protected BeanValidationManager beanValidationManager
protected TextProviderFactory textProviderFactory
protected boolean convertToUtf8
protected String convertFromEncoding
public void setBeanValidationManager(BeanValidationManager beanValidationManager)
public void setTextProviderFactory(TextProviderFactory textProviderFactory)
public void setConvertToUtf8(String convertToUtf8)
public void setConvertFromEncoding(String convertFromEncoding)
protected String doIntercept(ActionInvocation invocation) throws Exception
doIntercept
in class MethodFilterInterceptor
Exception
protected Class<?>[] getValidationGroups(Object action, String methodName) throws NoSuchMethodException
NoSuchMethodException
protected void performBeanValidation(Object action, javax.validation.Validator validator, Class<?>[] groups)
protected void addBeanValidationErrors(Set<javax.validation.ConstraintViolation<Object>> constraintViolations, Object action)
protected org.apache.struts.beanvalidation.validation.interceptor.BeanValidationInterceptor.ValidationError buildBeanValidationError(javax.validation.ConstraintViolation<Object> violation, String message)
protected boolean isActionError(javax.validation.ConstraintViolation<Object> violation)
violation
- the violationprotected Method getActionMethod(Class<?> actionClass, String methodName) throws NoSuchMethodException
actionClass
- the action classmethodName
- the method nameNoSuchMethodException
- if no method with this name was foundCopyright © 2000–2024 Apache Software Foundation. All rights reserved.