aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/main/java/com/vaadin/data/BeanValidationBinder.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/server/src/main/java/com/vaadin/data/BeanValidationBinder.java b/server/src/main/java/com/vaadin/data/BeanValidationBinder.java
index e98ce96b37..de67f922bf 100644
--- a/server/src/main/java/com/vaadin/data/BeanValidationBinder.java
+++ b/server/src/main/java/com/vaadin/data/BeanValidationBinder.java
@@ -49,7 +49,25 @@ public class BeanValidationBinder<BEAN> extends Binder<BEAN> {
* the bean type to use, not <code>null</code>
*/
public BeanValidationBinder(Class<BEAN> beanType) {
- super(beanType);
+ this(beanType,false);
+ }
+
+ /**
+ * Creates a new binder that uses reflection based on the provided bean type
+ * to resolve bean properties. It assumes that JSR-303 bean validation
+ * implementation is present on the classpath. If there is no such
+ * implementation available then {@link Binder} class should be used instead
+ * (this constructor will throw an exception). Otherwise
+ * {@link BeanValidator} is added to each binding that is defined using a
+ * property name.
+ *
+ * @param beanType
+ * the bean type to use, not {@code null}
+ * @param scanNestedDefinitions
+ * if {@code true}, scan for nested property definitions as well
+ */
+ public BeanValidationBinder(Class<BEAN> beanType, boolean scanNestedDefinitions) {
+ super(beanType, scanNestedDefinitions);
if (!BeanUtil.checkBeanValidationAvailable()) {
throw new IllegalStateException(BeanValidationBinder.class
.getSimpleName()