summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/main/java/com/vaadin/data/BeanBinder.java6
-rw-r--r--server/src/main/java/com/vaadin/data/Binder.java24
-rw-r--r--server/src/main/java/com/vaadin/data/StatusChangeEvent.java4
-rw-r--r--server/src/main/java/com/vaadin/server/Setter.java (renamed from server/src/main/java/com/vaadin/server/SerializableBiConsumer.java)29
4 files changed, 38 insertions, 25 deletions
diff --git a/server/src/main/java/com/vaadin/data/BeanBinder.java b/server/src/main/java/com/vaadin/data/BeanBinder.java
index 56219ff6bf..07bc40b1dd 100644
--- a/server/src/main/java/com/vaadin/data/BeanBinder.java
+++ b/server/src/main/java/com/vaadin/data/BeanBinder.java
@@ -36,7 +36,7 @@ import com.googlecode.gentyref.GenericTypeReflector;
import com.vaadin.annotations.PropertyId;
import com.vaadin.data.util.BeanUtil;
import com.vaadin.data.validator.BeanValidator;
-import com.vaadin.server.SerializableBiConsumer;
+import com.vaadin.server.Setter;
import com.vaadin.server.SerializableFunction;
import com.vaadin.server.SerializablePredicate;
import com.vaadin.ui.Label;
@@ -161,7 +161,7 @@ public class BeanBinder<BEAN> extends Binder<BEAN> {
* if the property has no accessible getter
*
* @see BindingBuilder#bind(ValueProvider,
- * SerializableBiConsumer)
+ * Setter)
*/
public Binding<BEAN, TARGET> bind(String propertyName);
}
@@ -361,7 +361,7 @@ public class BeanBinder<BEAN> extends Binder<BEAN> {
* @throws IllegalArgumentException
* if the property has no accessible getter
*
- * @see #bind(HasValue, ValueProvider, SerializableBiConsumer)
+ * @see #bind(HasValue, ValueProvider, Setter)
*/
public <FIELDVALUE> Binding<BEAN, FIELDVALUE> bind(
HasValue<FIELDVALUE> field, String propertyName) {
diff --git a/server/src/main/java/com/vaadin/data/Binder.java b/server/src/main/java/com/vaadin/data/Binder.java
index 9f496d04d2..94a16d9da9 100644
--- a/server/src/main/java/com/vaadin/data/Binder.java
+++ b/server/src/main/java/com/vaadin/data/Binder.java
@@ -34,7 +34,7 @@ import com.vaadin.data.HasValue.ValueChangeEvent;
import com.vaadin.data.converter.StringToIntegerConverter;
import com.vaadin.event.EventRouter;
import com.vaadin.server.ErrorMessage;
-import com.vaadin.server.SerializableBiConsumer;
+import com.vaadin.server.Setter;
import com.vaadin.server.SerializableFunction;
import com.vaadin.server.SerializablePredicate;
import com.vaadin.server.UserError;
@@ -173,7 +173,7 @@ public class Binder<BEAN> implements Serializable {
*/
public Binding<BEAN, TARGET> bind(
ValueProvider<BEAN, TARGET> getter,
- com.vaadin.server.SerializableBiConsumer<BEAN, TARGET> setter);
+ Setter<BEAN, TARGET> setter);
/**
* Adds a validator to this binding. Validators are applied, in
@@ -255,7 +255,7 @@ public class Binder<BEAN> implements Serializable {
* which must match the current target data type of the binding, and a
* model type, which can be any data type and becomes the new target
* type of the binding. When invoking
- * {@link #bind(ValueProvider, SerializableBiConsumer)}, the
+ * {@link #bind(ValueProvider, Setter)}, the
* target type of the binding must match the getter/setter types.
* <p>
* For instance, a {@code TextField} can be bound to an integer-typed
@@ -281,7 +281,7 @@ public class Binder<BEAN> implements Serializable {
* type, which must match the current target data type of the binding,
* and a model type, which can be any data type and becomes the new
* target type of the binding. When invoking
- * {@link #bind(ValueProvider, SerializableBiConsumer)}, the
+ * {@link #bind(ValueProvider, Setter)}, the
* target type of the binding must match the getter/setter types.
* <p>
* For instance, a {@code TextField} can be bound to an integer-typed
@@ -316,7 +316,7 @@ public class Binder<BEAN> implements Serializable {
* type, which must match the current target data type of the binding,
* and a model type, which can be any data type and becomes the new
* target type of the binding. When invoking
- * {@link #bind(ValueProvider, SerializableBiConsumer)}, the
+ * {@link #bind(ValueProvider, Setter)}, the
* target type of the binding must match the getter/setter types.
* <p>
* For instance, a {@code TextField} can be bound to an integer-typed
@@ -534,7 +534,7 @@ public class Binder<BEAN> implements Serializable {
@Override
public Binding<BEAN, TARGET> bind(
ValueProvider<BEAN, TARGET> getter,
- SerializableBiConsumer<BEAN, TARGET> setter) {
+ Setter<BEAN, TARGET> setter) {
checkUnbound();
Objects.requireNonNull(getter, "getter cannot be null");
@@ -673,7 +673,7 @@ public class Binder<BEAN> implements Serializable {
private final BindingValidationStatusHandler statusHandler;
private final SerializableFunction<BEAN, TARGET> getter;
- private final SerializableBiConsumer<BEAN, TARGET> setter;
+ private final Setter<BEAN, TARGET> setter;
// Not final since we temporarily remove listener while changing values
private Registration onValueChange;
@@ -686,7 +686,7 @@ public class Binder<BEAN> implements Serializable {
public BindingImpl(BindingBuilderImpl<BEAN, FIELDVALUE, TARGET> builder,
SerializableFunction<BEAN, TARGET> getter,
- SerializableBiConsumer<BEAN, TARGET> setter) {
+ Setter<BEAN, TARGET> setter) {
this.binder = builder.getBinder();
this.field = builder.field;
this.statusHandler = builder.statusHandler;
@@ -976,7 +976,7 @@ public class Binder<BEAN> implements Serializable {
/**
* Creates a new binding for the given field. The returned builder may be
* further configured before invoking
- * {@link BindingBuilder#bind(ValueProvider, SerializableBiConsumer)}
+ * {@link BindingBuilder#bind(ValueProvider, Setter)}
* which completes the binding. Until {@code Binding.bind} is called, the
* binding has no effect.
* <p>
@@ -993,7 +993,7 @@ public class Binder<BEAN> implements Serializable {
* the field to be bound, not null
* @return the new binding
*
- * @see #bind(HasValue, ValueProvider, SerializableBiConsumer)
+ * @see #bind(HasValue, ValueProvider, Setter)
*/
public <FIELDVALUE> BindingBuilder<BEAN, FIELDVALUE> forField(
HasValue<FIELDVALUE> field) {
@@ -1061,7 +1061,7 @@ public class Binder<BEAN> implements Serializable {
public <FIELDVALUE> Binding<BEAN, FIELDVALUE> bind(
HasValue<FIELDVALUE> field,
ValueProvider<BEAN, FIELDVALUE> getter,
- SerializableBiConsumer<BEAN, FIELDVALUE> setter) {
+ Setter<BEAN, FIELDVALUE> setter) {
return forField(field).bind(getter, setter);
}
@@ -1473,7 +1473,7 @@ public class Binder<BEAN> implements Serializable {
* <li>{@link #setBean(Object)} is called
* <li>{@link #removeBean()} is called
* <li>
- * {@link BindingBuilder#bind(ValueProvider, SerializableBiConsumer)}
+ * {@link BindingBuilder#bind(ValueProvider, Setter)}
* is called
* <li>{@link Binder#validate()} or {@link Binding#validate()} is called
* </ul>
diff --git a/server/src/main/java/com/vaadin/data/StatusChangeEvent.java b/server/src/main/java/com/vaadin/data/StatusChangeEvent.java
index 2c4e87d897..42f92e654c 100644
--- a/server/src/main/java/com/vaadin/data/StatusChangeEvent.java
+++ b/server/src/main/java/com/vaadin/data/StatusChangeEvent.java
@@ -19,7 +19,7 @@ import java.util.EventObject;
import com.vaadin.data.Binder.Binding;
import com.vaadin.data.Binder.BindingBuilder;
-import com.vaadin.server.SerializableBiConsumer;
+import com.vaadin.server.Setter;
/**
* Binder status change event.
@@ -32,7 +32,7 @@ import com.vaadin.server.SerializableBiConsumer;
* <li>{@link Binder#readBean(Object)} is called
* <li>{@link Binder#setBean(Object)} is called
* <li>{@link Binder#removeBean()} is called
- * <li>{@link BindingBuilder#bind(ValueProvider, SerializableBiConsumer)}
+ * <li>{@link BindingBuilder#bind(ValueProvider, Setter)}
* is called
* <li>{@link Binder#validate()} or {@link Binding#validate()} is called
* </ul>
diff --git a/server/src/main/java/com/vaadin/server/SerializableBiConsumer.java b/server/src/main/java/com/vaadin/server/Setter.java
index 278d53fc05..87eb9ecd44 100644
--- a/server/src/main/java/com/vaadin/server/SerializableBiConsumer.java
+++ b/server/src/main/java/com/vaadin/server/Setter.java
@@ -15,24 +15,37 @@
*/
package com.vaadin.server;
+import com.vaadin.data.Binder;
+import com.vaadin.data.HasValue;
+
import java.io.Serializable;
import java.util.function.BiConsumer;
/**
- * A {@link BiConsumer} that is also {@link Serializable}.
+ * The function to write the field value to the bean property
*
* @see BiConsumer
- * @param <T>
- * the type of the first argument to the operation
- * @param <U>
- * the type of the second argument to the operation
+ * @see Binder#bind(HasValue, SerializableFunction, Setter)
+ * @param <BEAN>
+ * the type of the target bean
+ * @param <FIELDVALUE>
+ * the field value type to be written to the bean
*
* @since 8.0
* @author Vaadin Ltd
*
*/
@FunctionalInterface
-public interface SerializableBiConsumer<T, U>
- extends BiConsumer<T, U>, Serializable {
- // Only method inherited from BiConsumer
+public interface Setter<BEAN, FIELDVALUE>
+ extends BiConsumer<BEAN, FIELDVALUE>, Serializable {
+
+ /** Save value to the bean property
+ *
+ * @param bean
+ * the target bean
+ * @param fieldvalue
+ * the field value to be written to the bean
+ */
+ @Override
+ void accept(BEAN bean, FIELDVALUE fieldvalue);
}