Skip to content

Commit 4581460

Browse files
authored
fix: reintroduce valuecontext constructors (#22371)
1 parent 2b0d10e commit 4581460

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

flow-data/src/main/java/com/vaadin/flow/data/binder/ValueContext.java

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ public class ValueContext implements Serializable {
3737
private final HasValue<?, ?> hasValue;
3838
private final Locale locale;
3939

40+
/**
41+
* Constructor for {@code ValueContext} without a {@code Locale}.
42+
*/
43+
public ValueContext() {
44+
this.binder = null;
45+
component = null;
46+
hasValue = null;
47+
locale = findLocale(component);
48+
}
49+
4050
/**
4151
* Constructor for {@code ValueContext} without a {@code Locale}.
4252
*
@@ -50,6 +60,19 @@ public ValueContext(Binder<?> binder) {
5060
locale = findLocale(component);
5161
}
5262

63+
/**
64+
* Constructor for {@code ValueContext} without a {@code Component}.
65+
*
66+
* @param locale
67+
* The locale used with conversion. Can be null.
68+
*/
69+
public ValueContext(Locale locale) {
70+
this.binder = null;
71+
component = null;
72+
this.locale = locale;
73+
hasValue = null;
74+
}
75+
5376
/**
5477
* Constructor for {@code ValueContext} without a {@code Component}.
5578
*
@@ -65,6 +88,25 @@ public ValueContext(Binder binder, Locale locale) {
6588
hasValue = null;
6689
}
6790

91+
/**
92+
* Constructor for {@code ValueContext}.
93+
*
94+
* @param component
95+
* The component related to current value. Can be null. If the
96+
* component implements {@link HasValue}, it will be returned by
97+
* {@link #getHasValue()} as well.
98+
*/
99+
public ValueContext(Component component) {
100+
this.binder = null;
101+
this.component = component;
102+
if (component instanceof HasValue) {
103+
hasValue = (HasValue<?, ?>) component;
104+
} else {
105+
hasValue = null;
106+
}
107+
locale = findLocale(component);
108+
}
109+
68110
/**
69111
* Constructor for {@code ValueContext}.
70112
*
@@ -86,6 +128,21 @@ public ValueContext(Binder binder, Component component) {
86128
locale = findLocale(component);
87129
}
88130

131+
/**
132+
* Constructor for {@code ValueContext}.
133+
*
134+
* @param component
135+
* The component related to current value. Can be null.
136+
* @param hasValue
137+
* The value source related to current value. Can be null.
138+
*/
139+
public ValueContext(Component component, HasValue<?, ?> hasValue) {
140+
this.binder = null;
141+
this.component = component;
142+
this.hasValue = hasValue;
143+
locale = findLocale(component);
144+
}
145+
89146
/**
90147
* Constructor for {@code ValueContext}.
91148
*
@@ -104,6 +161,25 @@ public ValueContext(Binder binder, Component component,
104161
locale = findLocale(component);
105162
}
106163

164+
/**
165+
* Constructor for {@code ValueContext}.
166+
*
167+
* @param component
168+
* The component can be {@code null}.
169+
* @param locale
170+
* The locale used with conversion. Can be {@code null}.
171+
* @param hasValue
172+
* The value source related to current value. Can be
173+
* {@code null}.
174+
*/
175+
public ValueContext(Component component, HasValue<?, ?> hasValue,
176+
Locale locale) {
177+
this.binder = null;
178+
this.component = component;
179+
this.hasValue = hasValue;
180+
this.locale = locale;
181+
}
182+
107183
/**
108184
* Constructor for {@code ValueContext}.
109185
*

0 commit comments

Comments
 (0)