MappingBindingsExtension.groovy
001 /*
002  * SPDX-License-Identifier: Apache-2.0
003  *
004  * Copyright 2008-2017 the original author or authors.
005  *
006  * Licensed under the Apache License, Version 2.0 (the "License");
007  * you may not use this file except in compliance with the License.
008  * You may obtain a copy of the License at
009  *
010  *     http://www.apache.org/licenses/LICENSE-2.0
011  *
012  * Unless required by applicable law or agreed to in writing, software
013  * distributed under the License is distributed on an "AS IS" BASIS,
014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015  * See the License for the specific language governing permissions and
016  * limitations under the License.
017  */
018 package griffon.javafx
019 
020 import griffon.javafx.beans.binding.MappingBindings
021 import groovy.transform.CompileStatic
022 import javafx.beans.binding.BooleanBinding
023 import javafx.beans.binding.DoubleBinding
024 import javafx.beans.binding.FloatBinding
025 import javafx.beans.binding.IntegerBinding
026 import javafx.beans.binding.LongBinding
027 import javafx.beans.binding.ObjectBinding
028 import javafx.beans.binding.StringBinding
029 import javafx.beans.value.ObservableBooleanValue
030 import javafx.beans.value.ObservableDoubleValue
031 import javafx.beans.value.ObservableFloatValue
032 import javafx.beans.value.ObservableIntegerValue
033 import javafx.beans.value.ObservableLongValue
034 import javafx.beans.value.ObservableObjectValue
035 import javafx.beans.value.ObservableStringValue
036 import javafx.beans.value.ObservableValue
037 import javafx.collections.ObservableList
038 
039 import javax.annotation.Nonnull
040 import javax.annotation.Nullable
041 import java.util.function.BiFunction
042 import java.util.function.Function
043 import java.util.function.Supplier
044 
045 /**
046  @author Andres Almiray
047  @since 2.13.0
048  */
049 @CompileStatic
050 final class MappingBindingsExtension {
051     @Nonnull
052     static <T, R> ObjectBinding<R> mapAsObject(@Nonnull ObservableValue<T> observable, @Nonnull Function<T, R> mapper) {
053         MappingBindings.mapAsObject(observable, mapper)
054     }
055 
056     @Nonnull
057     static <T, R> ObjectBinding<R> mapAsObject(
058         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, R>> mapper) {
059         MappingBindings.mapAsObject(observable, mapper)
060     }
061 
062     @Nonnull
063     static <T> BooleanBinding mapAsBoolean(
064         @Nonnull ObservableValue<T> observable, @Nonnull Function<T, Boolean> mapper) {
065         MappingBindings.mapAsBoolean(observable, mapper)
066     }
067 
068     @Nonnull
069     static <T> BooleanBinding mapAsBoolean(
070         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, Boolean>> mapper) {
071         MappingBindings.mapAsBoolean(observable, mapper)
072     }
073 
074     @Nonnull
075     static <T> IntegerBinding mapAsInteger(
076         @Nonnull ObservableValue<T> observable, @Nonnull Function<T, Integer> mapper) {
077         MappingBindings.mapAsInteger(observable, mapper)
078     }
079 
080     @Nonnull
081     static <T> IntegerBinding mapAsInteger(
082         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, Integer>> mapper) {
083         MappingBindings.mapAsInteger(observable, mapper)
084     }
085 
086     @Nonnull
087     static <T> LongBinding mapAsLong(@Nonnull ObservableValue<T> observable, @Nonnull Function<T, Long> mapper) {
088         MappingBindings.mapAsLong(observable, mapper)
089     }
090 
091     @Nonnull
092     static <T> LongBinding mapAsLong(
093         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, Long>> mapper) {
094         MappingBindings.mapAsLong(observable, mapper)
095     }
096 
097     @Nonnull
098     static <T> FloatBinding mapAsFloat(@Nonnull ObservableValue<T> observable, @Nonnull Function<T, Float> mapper) {
099         MappingBindings.mapAsFloat(observable, mapper)
100     }
101 
102     @Nonnull
103     static <T> FloatBinding mapAsFloat(
104         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, Float>> mapper) {
105         MappingBindings.mapAsFloat(observable, mapper)
106     }
107 
108     @Nonnull
109     static <T> DoubleBinding mapAsDouble(@Nonnull ObservableValue<T> observable, @Nonnull Function<T, Double> mapper) {
110         MappingBindings.mapAsDouble(observable, mapper)
111     }
112 
113     @Nonnull
114     static <T> DoubleBinding mapAsDouble(
115         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, Double>> mapper) {
116         MappingBindings.mapAsDouble(observable, mapper)
117     }
118 
119     @Nonnull
120     static <T> StringBinding mapAsString(@Nonnull ObservableValue<T> observable, @Nonnull Function<T, String> mapper) {
121         MappingBindings.mapAsString(observable, mapper)
122     }
123 
124     @Nonnull
125     static <T> StringBinding mapAsString(
126         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<T, String>> mapper) {
127         MappingBindings.mapAsString(observable, mapper)
128     }
129 
130     @Nonnull
131     static ObjectBinding<String> mapToObject(@Nonnull ObservableStringValue observable) {
132         MappingBindings.mapToObject(observable)
133     }
134 
135     @Nonnull
136     static ObjectBinding<Boolean> mapToObject(@Nonnull ObservableBooleanValue observable) {
137         MappingBindings.mapToObject(observable)
138     }
139 
140     @Nonnull
141     static ObjectBinding<Integer> mapToObject(@Nonnull ObservableIntegerValue observable) {
142         MappingBindings.mapToObject(observable)
143     }
144 
145     @Nonnull
146     static ObjectBinding<Long> mapToObject(@Nonnull ObservableLongValue observable) {
147         MappingBindings.mapToObject(observable)
148     }
149 
150     @Nonnull
151     static ObjectBinding<Float> mapToObject(@Nonnull ObservableFloatValue observable) {
152         MappingBindings.mapToObject(observable)
153     }
154 
155     @Nonnull
156     static ObjectBinding<Double> mapToObject(@Nonnull ObservableDoubleValue observable) {
157         MappingBindings.mapToObject(observable)
158     }
159 
160     @Nonnull
161     static BooleanBinding mapToBoolean(@Nonnull ObservableObjectValue<Boolean> observable) {
162         MappingBindings.mapToBoolean(observable)
163     }
164 
165     @Nonnull
166     static IntegerBinding mapToInteger(@Nonnull ObservableObjectValue<Integer> observable) {
167         MappingBindings.mapToInteger(observable)
168     }
169 
170     @Nonnull
171     static LongBinding mapToLong(@Nonnull ObservableObjectValue<Long> observable) {
172         MappingBindings.mapToLong(observable)
173     }
174 
175     @Nonnull
176     static FloatBinding mapToFloat(@Nonnull ObservableObjectValue<Float> observable) {
177         MappingBindings.mapToFloat(observable)
178     }
179 
180     @Nonnull
181     static DoubleBinding mapToDouble(@Nonnull ObservableObjectValue<Double> observable) {
182         MappingBindings.mapToDouble(observable)
183     }
184 
185     @Nonnull
186     static StringBinding mapToString(@Nonnull ObservableObjectValue<String> observable) {
187         MappingBindings.mapToString(observable)
188     }
189 
190     @Nonnull
191     static <S, T> ObservableList<T> mapList(@Nonnull ObservableList<? super S> source, @Nonnull Function<S, T> mapper) {
192         MappingBindings.mapList(source, mapper)
193     }
194 
195     @Nonnull
196     static <S, T> ObservableList<T> mapList(
197         @Nonnull ObservableList<S> source, @Nonnull ObservableValue<Function<S, T>> mapper) {
198         MappingBindings.mapList(source, mapper)
199     }
200 
201     @Nonnull
202     static <T, R> ObjectBinding<R> mapObject(
203         @Nonnull ObservableValue<T> observable, @Nonnull Function<? super T, ? extends R> mapper) {
204         MappingBindings.mapObject(observable, mapper)
205     }
206 
207     @Nonnull
208     static <T, R> ObjectBinding<R> mapObject(
209         @Nonnull ObservableValue<T> observable,
210         @Nonnull Function<? super T, ? extends R> mapper, @Nullable R defaultValue) {
211         MappingBindings.mapObject(observable, mapper, defaultValue)
212     }
213 
214     @Nonnull
215     static <T, R> ObjectBinding<R> mapObject(
216         @Nonnull ObservableValue<T> observable,
217         @Nonnull Function<? super T, ? extends R> mapper, @Nonnull Supplier<R> supplier) {
218         MappingBindings.mapObject(observable, mapper, supplier)
219     }
220 
221     @Nonnull
222     static <T, R> ObjectBinding<R> mapObject(
223         @Nonnull ObservableValue<T> observable, @Nonnull ObservableValue<Function<? super T, ? extends R>> mapper) {
224         MappingBindings.mapObject(observable, mapper)
225     }
226 
227     @Nonnull
228     static <T, R> ObjectBinding<R> mapObject(
229         @Nonnull ObservableValue<T> observable,
230         @Nonnull ObservableValue<Function<? super T, ? extends R>> mapper, @Nullable R defaultValue) {
231         MappingBindings.mapObject(observable, mapper, defaultValue)
232     }
233 
234     @Nonnull
235     static <T, R> ObjectBinding<R> mapObject(
236         @Nonnull ObservableValue<T> observable,
237         @Nonnull ObservableValue<Function<? super T, ? extends R>> mapper, @Nonnull Supplier<R> supplier) {
238         MappingBindings.mapObject(observable, mapper, supplier)
239     }
240 
241     @Nonnull
242     static BooleanBinding mapBoolean(
243         @Nonnull ObservableValue<Boolean> observable, @Nonnull Function<Boolean, Boolean> mapper) {
244         MappingBindings.mapBoolean(observable, mapper)
245     }
246 
247     @Nonnull
248     static BooleanBinding mapBoolean(
249         @Nonnull ObservableValue<Boolean> observable,
250         @Nonnull Function<Boolean, Boolean> mapper, @Nonnull Boolean defaultValue) {
251         MappingBindings.mapBoolean(observable, mapper, defaultValue)
252     }
253 
254     @Nonnull
255     static BooleanBinding mapBoolean(
256         @Nonnull ObservableValue<Boolean> observable,
257         @Nonnull Function<Boolean, Boolean> mapper, @Nonnull Supplier<Boolean> supplier) {
258         MappingBindings.mapBoolean(observable, mapper, supplier)
259     }
260 
261     @Nonnull
262     static BooleanBinding mapBoolean(
263         @Nonnull ObservableValue<Boolean> observable, @Nonnull ObservableValue<Function<Boolean, Boolean>> mapper) {
264         MappingBindings.mapBoolean(observable, mapper)
265     }
266 
267     @Nonnull
268     static BooleanBinding mapBoolean(
269         @Nonnull ObservableValue<Boolean> observable,
270         @Nonnull ObservableValue<Function<Boolean, Boolean>> mapper, @Nonnull Boolean defaultValue) {
271         MappingBindings.mapBoolean(observable, mapper, defaultValue)
272     }
273 
274     @Nonnull
275     static BooleanBinding mapBoolean(
276         @Nonnull ObservableValue<Boolean> observable,
277         @Nonnull ObservableValue<Function<Boolean, Boolean>> mapper, @Nonnull Supplier<Boolean> supplier) {
278         MappingBindings.mapBoolean(observable, mapper, supplier)
279     }
280 
281     @Nonnull
282     static IntegerBinding mapInteger(
283         @Nonnull ObservableValue<Integer> observable, @Nonnull Function<Integer, Integer> mapper) {
284         MappingBindings.mapInteger(observable, mapper)
285     }
286 
287     @Nonnull
288     static IntegerBinding mapInteger(
289         @Nonnull ObservableValue<Integer> observable,
290         @Nonnull Function<Integer, Integer> mapper, @Nonnull Integer defaultValue) {
291         MappingBindings.mapInteger(observable, mapper, defaultValue)
292     }
293 
294     @Nonnull
295     static IntegerBinding mapInteger(
296         @Nonnull ObservableValue<Integer> observable,
297         @Nonnull Function<Integer, Integer> mapper, @Nonnull Supplier<Integer> supplier) {
298         MappingBindings.mapInteger(observable, mapper, supplier)
299     }
300 
301     @Nonnull
302     static IntegerBinding mapInteger(
303         @Nonnull ObservableValue<Integer> observable, @Nonnull ObservableValue<Function<Integer, Integer>> mapper) {
304         MappingBindings.mapInteger(observable, mapper)
305     }
306 
307     @Nonnull
308     static IntegerBinding mapInteger(
309         @Nonnull ObservableValue<Integer> observable,
310         @Nonnull ObservableValue<Function<Integer, Integer>> mapper, @Nonnull Integer defaultValue) {
311         MappingBindings.mapInteger(observable, mapper, defaultValue)
312     }
313 
314     @Nonnull
315     static IntegerBinding mapInteger(
316         @Nonnull ObservableValue<Integer> observable,
317         @Nonnull ObservableValue<Function<Integer, Integer>> mapper, @Nonnull Supplier<Integer> supplier) {
318         MappingBindings.mapInteger(observable, mapper, supplier)
319     }
320 
321     @Nonnull
322     static LongBinding mapLong(@Nonnull ObservableValue<Long> observable, @Nonnull Function<Long, Long> mapper) {
323         MappingBindings.mapLong(observable, mapper)
324     }
325 
326     @Nonnull
327     static LongBinding mapLong(
328         @Nonnull ObservableValue<Long> observable, @Nonnull Function<Long, Long> mapper, @Nonnull Long defaultValue) {
329         MappingBindings.mapLong(observable, mapper, defaultValue)
330     }
331 
332     @Nonnull
333     static LongBinding mapLong(
334         @Nonnull ObservableValue<Long> observable,
335         @Nonnull Function<Long, Long> mapper, @Nonnull Supplier<Long> supplier) {
336         MappingBindings.mapLong(observable, mapper, supplier)
337     }
338 
339     @Nonnull
340     static LongBinding mapLong(
341         @Nonnull ObservableValue<Long> observable, @Nonnull ObservableValue<Function<Long, Long>> mapper) {
342         MappingBindings.mapLong(observable, mapper)
343     }
344 
345     @Nonnull
346     static LongBinding mapLong(
347         @Nonnull ObservableValue<Long> observable,
348         @Nonnull ObservableValue<Function<Long, Long>> mapper, @Nonnull Long defaultValue) {
349         MappingBindings.mapLong(observable, mapper, defaultValue)
350     }
351 
352     @Nonnull
353     static LongBinding mapLong(
354         @Nonnull ObservableValue<Long> observable,
355         @Nonnull ObservableValue<Function<Long, Long>> mapper, @Nonnull Supplier<Long> supplier) {
356         MappingBindings.mapLong(observable, mapper, supplier)
357     }
358 
359     @Nonnull
360     static FloatBinding mapFloat(@Nonnull ObservableValue<Float> observable, @Nonnull Function<Float, Float> mapper) {
361         MappingBindings.mapFloat(observable, mapper)
362     }
363 
364     @Nonnull
365     static FloatBinding mapFloat(
366         @Nonnull ObservableValue<Float> observable,
367         @Nonnull Function<Float, Float> mapper, @Nonnull Float defaultValue) {
368         MappingBindings.mapFloat(observable, mapper, defaultValue)
369     }
370 
371     @Nonnull
372     static FloatBinding mapFloat(
373         @Nonnull ObservableValue<Float> observable,
374         @Nonnull Function<Float, Float> mapper, @Nonnull Supplier<Float> supplier) {
375         MappingBindings.mapFloat(observable, mapper, supplier)
376     }
377 
378     @Nonnull
379     static FloatBinding mapFloat(
380         @Nonnull ObservableValue<Float> observable, @Nonnull ObservableValue<Function<Float, Float>> mapper) {
381         MappingBindings.mapFloat(observable, mapper)
382     }
383 
384     @Nonnull
385     static FloatBinding mapFloat(
386         @Nonnull ObservableValue<Float> observable,
387         @Nonnull ObservableValue<Function<Float, Float>> mapper, @Nullable Float defaultValue) {
388         MappingBindings.mapFloat(observable, mapper, defaultValue)
389     }
390 
391     @Nonnull
392     static FloatBinding mapFloat(
393         @Nonnull ObservableValue<Float> observable,
394         @Nonnull ObservableValue<Function<Float, Float>> mapper, @Nonnull Supplier<Float> supplier) {
395         MappingBindings.mapFloat(observable, mapper, supplier)
396     }
397 
398     @Nonnull
399     static DoubleBinding mapDouble(
400         @Nonnull ObservableValue<Double> observable, @Nonnull Function<Double, Double> mapper) {
401         MappingBindings.mapDouble(observable, mapper)
402     }
403 
404     @Nonnull
405     static DoubleBinding mapDouble(
406         @Nonnull ObservableValue<Double> observable,
407         @Nonnull Function<Double, Double> mapper, @Nullable Double defaultValue) {
408         MappingBindings.mapDouble(observable, mapper, defaultValue)
409     }
410 
411     @Nonnull
412     static DoubleBinding mapDouble(
413         @Nonnull ObservableValue<Double> observable,
414         @Nonnull Function<Double, Double> mapper, @Nonnull Supplier<Double> supplier) {
415         MappingBindings.mapDouble(observable, mapper, supplier)
416     }
417 
418     @Nonnull
419     static DoubleBinding mapDouble(
420         @Nonnull ObservableValue<Double> observable, @Nonnull ObservableValue<Function<Double, Double>> mapper) {
421         MappingBindings.mapDouble(observable, mapper)
422     }
423 
424     @Nonnull
425     static DoubleBinding mapDouble(
426         @Nonnull ObservableValue<Double> observable,
427         @Nonnull ObservableValue<Function<Double, Double>> mapper, @Nonnull Double defaultValue) {
428         MappingBindings.mapDouble(observable, mapper, defaultValue)
429     }
430 
431     @Nonnull
432     static DoubleBinding mapDouble(
433         @Nonnull ObservableValue<Double> observable,
434         @Nonnull ObservableValue<Function<Double, Double>> mapper, @Nonnull Supplier<Double> supplier) {
435         MappingBindings.mapDouble(observable, mapper, supplier)
436     }
437 
438     @Nonnull
439     static StringBinding mapString(
440         @Nonnull ObservableValue<String> observable, @Nonnull Function<String, String> mapper) {
441         MappingBindings.mapString(observable, mapper)
442     }
443 
444     @Nonnull
445     static StringBinding mapString(
446         @Nonnull ObservableValue<String> observable,
447         @Nonnull Function<String, String> mapper, @Nonnull String defaultValue) {
448         MappingBindings.mapString(observable, mapper, defaultValue)
449     }
450 
451     @Nonnull
452     static StringBinding mapString(
453         @Nonnull ObservableValue<String> observable,
454         @Nonnull Function<String, String> mapper, @Nonnull Supplier<String> supplier) {
455         MappingBindings.mapString(observable, mapper, supplier)
456     }
457 
458     @Nonnull
459     static StringBinding mapString(
460         @Nonnull ObservableValue<String> observable, @Nonnull ObservableValue<Function<String, String>> mapper) {
461         MappingBindings.mapString(observable, mapper)
462     }
463 
464     @Nonnull
465     static StringBinding mapString(
466         @Nonnull ObservableValue<String> observable,
467         @Nonnull ObservableValue<Function<String, String>> mapper, @Nonnull String defaultValue) {
468         MappingBindings.mapString(observable, mapper, defaultValue)
469     }
470 
471     @Nonnull
472     static StringBinding mapString(
473         @Nonnull ObservableValue<String> observable,
474         @Nonnull ObservableValue<Function<String, String>> mapper, @Nonnull Supplier<String> supplier) {
475         MappingBindings.mapString(observable, mapper, supplier)
476     }
477 
478     @Nonnull
479     static BooleanBinding mapBooleans(
480         @Nonnull ObservableValue<Boolean> observable1,
481         @Nonnull ObservableValue<Boolean> observable2,
482         @Nonnull Boolean defaultValue, @Nonnull BiFunction<Boolean, Boolean, Boolean> mapper) {
483         MappingBindings.mapBooleans(observable1, observable2, defaultValue, mapper)
484     }
485 
486     @Nonnull
487     static BooleanBinding mapBooleans(
488         @Nonnull ObservableValue<Boolean> observable1,
489         @Nonnull ObservableValue<Boolean> observable2,
490         @Nonnull Supplier<Boolean> supplier, @Nonnull BiFunction<Boolean, Boolean, Boolean> mapper) {
491         MappingBindings.mapBooleans(observable1, observable2, supplier, mapper)
492     }
493 
494     @Nonnull
495     static BooleanBinding mapBooleans(
496         @Nonnull ObservableValue<Boolean> observable1,
497         @Nonnull ObservableValue<Boolean> observable2,
498         @Nonnull Boolean defaultValue, @Nonnull ObservableValue<BiFunction<Boolean, Boolean, Boolean>> mapper) {
499         MappingBindings.mapBooleans(observable1, observable2, defaultValue, mapper)
500     }
501 
502     @Nonnull
503     static BooleanBinding mapBooleans(
504         @Nonnull ObservableValue<Boolean> observable1,
505         @Nonnull ObservableValue<Boolean> observable2,
506         @Nonnull Supplier<Boolean> supplier, @Nonnull ObservableValue<BiFunction<Boolean, Boolean, Boolean>> mapper) {
507         MappingBindings.mapBooleans(observable1, observable2, supplier, mapper)
508     }
509 
510     @Nonnull
511     static IntegerBinding mapIntegers(
512         @Nonnull ObservableValue<? extends Number> observable1,
513         @Nonnull ObservableValue<? extends Number> observable2,
514         @Nonnull Integer defaultValue, @Nonnull BiFunction<? super Number, ? super Number, Integer> mapper) {
515         MappingBindings.mapIntegers(observable1, observable2, defaultValue, mapper)
516     }
517 
518     @Nonnull
519     static IntegerBinding mapIntegers(
520         @Nonnull ObservableValue<? extends Number> observable1,
521         @Nonnull ObservableValue<? extends Number> observable2,
522         @Nonnull Supplier<Integer> supplier, @Nonnull BiFunction<? super Number, ? super Number, Integer> mapper) {
523         MappingBindings.mapIntegers(observable1, observable2, supplier, mapper)
524     }
525 
526     @Nonnull
527     static IntegerBinding mapIntegers(
528         @Nonnull ObservableValue<? extends Number> observable1,
529         @Nonnull ObservableValue<? extends Number> observable2,
530         @Nonnull Integer defaultValue,
531         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Integer>> mapper) {
532         MappingBindings.mapIntegers(observable1, observable2, defaultValue, mapper)
533     }
534 
535     @Nonnull
536     static IntegerBinding mapIntegers(
537         @Nonnull ObservableValue<? extends Number> observable1,
538         @Nonnull ObservableValue<? extends Number> observable2,
539         @Nonnull Supplier<Integer> supplier,
540         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Integer>> mapper) {
541         MappingBindings.mapIntegers(observable1, observable2, supplier, mapper)
542     }
543 
544     @Nonnull
545     static LongBinding mapLongs(
546         @Nonnull ObservableValue<? extends Number> observable1,
547         @Nonnull ObservableValue<? extends Number> observable2,
548         @Nonnull Long defaultValue, @Nonnull BiFunction<? super Number, ? super Number, Long> mapper) {
549         MappingBindings.mapLongs(observable1, observable2, defaultValue, mapper)
550     }
551 
552     @Nonnull
553     static LongBinding mapLongs(
554         @Nonnull ObservableValue<? extends Number> observable1,
555         @Nonnull ObservableValue<? extends Number> observable2,
556         @Nonnull Supplier<Long> supplier, @Nonnull BiFunction<? super Number, ? super Number, Long> mapper) {
557         MappingBindings.mapLongs(observable1, observable2, supplier, mapper)
558     }
559 
560     @Nonnull
561     static LongBinding mapLongs(
562         @Nonnull ObservableValue<? extends Number> observable1,
563         @Nonnull ObservableValue<? extends Number> observable2,
564         @Nonnull Long defaultValue, @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Long>> mapper) {
565         MappingBindings.mapLongs(observable1, observable2, defaultValue, mapper)
566     }
567 
568     @Nonnull
569     static LongBinding mapLongs(
570         @Nonnull ObservableValue<? extends Number> observable1,
571         @Nonnull ObservableValue<? extends Number> observable2,
572         @Nonnull Supplier<Long> supplier,
573         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Long>> mapper) {
574         MappingBindings.mapLongs(observable1, observable2, supplier, mapper)
575     }
576 
577     @Nonnull
578     static FloatBinding mapFloats(
579         @Nonnull ObservableValue<? extends Number> observable1,
580         @Nonnull ObservableValue<? extends Number> observable2,
581         @Nonnull Float defaultValue, @Nonnull BiFunction<? super Number, ? super Number, Float> mapper) {
582         MappingBindings.mapFloats(observable1, observable2, defaultValue, mapper)
583     }
584 
585     @Nonnull
586     static FloatBinding mapFloats(
587         @Nonnull ObservableValue<? extends Number> observable1,
588         @Nonnull ObservableValue<? extends Number> observable2,
589         @Nonnull Supplier<Float> supplier, @Nonnull BiFunction<? super Number, ? super Number, Float> mapper) {
590         MappingBindings.mapFloats(observable1, observable2, supplier, mapper)
591     }
592 
593     @Nonnull
594     static FloatBinding mapFloats(
595         @Nonnull ObservableValue<? extends Number> observable1,
596         @Nonnull ObservableValue<? extends Number> observable2,
597         @Nonnull Float defaultValue,
598         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Float>> mapper) {
599         MappingBindings.mapFloats(observable1, observable2, defaultValue, mapper)
600     }
601 
602     @Nonnull
603     static FloatBinding mapFloats(
604         @Nonnull ObservableValue<? extends Number> observable1,
605         @Nonnull ObservableValue<? extends Number> observable2,
606         @Nonnull Supplier<Float> supplier,
607         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Float>> mapper) {
608         MappingBindings.mapFloats(observable1, observable2, supplier, mapper)
609     }
610 
611     @Nonnull
612     static DoubleBinding mapDoubles(
613         @Nonnull ObservableValue<? extends Number> observable1,
614         @Nonnull ObservableValue<? extends Number> observable2,
615         @Nonnull Double defaultValue, @Nonnull BiFunction<? super Number, ? super Number, Double> mapper) {
616         MappingBindings.mapDoubles(observable1, observable2, defaultValue, mapper)
617     }
618 
619     @Nonnull
620     static DoubleBinding mapDoubles(
621         @Nonnull ObservableValue<? extends Number> observable1,
622         @Nonnull ObservableValue<? extends Number> observable2,
623         @Nonnull Supplier<Double> supplier, @Nonnull BiFunction<? super Number, ? super Number, Double> mapper) {
624         MappingBindings.mapDoubles(observable1, observable2, supplier, mapper)
625     }
626 
627     @Nonnull
628     static DoubleBinding mapDoubles(
629         @Nonnull ObservableValue<? extends Number> observable1,
630         @Nonnull ObservableValue<? extends Number> observable2,
631         @Nonnull Double defaultValue,
632         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Double>> mapper) {
633         MappingBindings.mapDoubles(observable1, observable2, defaultValue, mapper)
634     }
635 
636     @Nonnull
637     static DoubleBinding mapDoubles(
638         @Nonnull ObservableValue<? extends Number> observable1,
639         @Nonnull ObservableValue<? extends Number> observable2,
640         @Nonnull Supplier<Double> supplier,
641         @Nonnull ObservableValue<BiFunction<? super Number, ? super Number, Double>> mapper) {
642         MappingBindings.mapDoubles(observable1, observable2, supplier, mapper)
643     }
644 
645     @Nonnull
646     static <A, B, R> ObjectBinding<R> mapObjects(
647         @Nonnull ObservableValue<A> observable1,
648         @Nonnull ObservableValue<B> observable2,
649         @Nullable R defaultValue, @Nonnull BiFunction<? super A, ? super B, R> mapper) {
650         MappingBindings.mapObjects(observable1, observable2, defaultValue, mapper)
651     }
652 
653     @Nonnull
654     static <A, B, R> ObjectBinding<R> mapObjects(
655         @Nonnull ObservableValue<A> observable1,
656         @Nonnull ObservableValue<B> observable2,
657         @Nonnull Supplier<R> supplier, @Nonnull BiFunction<? super A, ? super B, R> mapper) {
658         MappingBindings.mapObjects(observable1, observable2, supplier, mapper)
659     }
660 
661     @Nonnull
662     static <A, B, R> ObjectBinding<R> mapObjects(
663         @Nonnull ObservableValue<A> observable1,
664         @Nonnull ObservableValue<B> observable2,
665         @Nullable R defaultValue, @Nonnull ObservableValue<BiFunction<? super A, ? super B, R>> mapper) {
666         MappingBindings.mapObjects(observable1, observable2, defaultValue, mapper)
667     }
668 
669     @Nonnull
670     static <A, B, R> ObjectBinding<R> mapObjects(
671         @Nonnull ObservableValue<A> observable1,
672         @Nonnull ObservableValue<B> observable2,
673         @Nonnull Supplier<R> supplier, @Nonnull ObservableValue<BiFunction<? super A, ? super B, R>> mapper) {
674         MappingBindings.mapObjects(observable1, observable2, supplier, mapper)
675     }
676 
677     @Nonnull
678     static StringBinding mapStrings(
679         @Nonnull ObservableValue<String> observable1,
680         @Nonnull ObservableValue<String> observable2,
681         @Nullable String defaultValue, @Nonnull BiFunction<String, String, String> mapper) {
682         MappingBindings.mapStrings(observable1, observable2, defaultValue, mapper)
683     }
684 
685     @Nonnull
686     static StringBinding mapStrings(
687         @Nonnull ObservableValue<String> observable1,
688         @Nonnull ObservableValue<String> observable2,
689         @Nonnull Supplier<String> supplier, @Nonnull BiFunction<String, String, String> mapper) {
690         MappingBindings.mapStrings(observable1, observable2, supplier, mapper)
691     }
692 
693     @Nonnull
694     static StringBinding mapStrings(
695         @Nonnull ObservableValue<String> observable1,
696         @Nonnull ObservableValue<String> observable2,
697         @Nullable String defaultValue, @Nonnull ObservableValue<BiFunction<String, String, String>> mapper) {
698         MappingBindings.mapStrings(observable1, observable2, defaultValue, mapper)
699     }
700 
701     @Nonnull
702     static StringBinding mapStrings(
703         @Nonnull ObservableValue<String> observable1,
704         @Nonnull ObservableValue<String> observable2,
705         @Nonnull Supplier<String> supplier, @Nonnull ObservableValue<BiFunction<String, String, String>> mapper) {
706         MappingBindings.mapStrings(observable1, observable2, supplier, mapper)
707     }
708 
709     @Nonnull
710     static IntegerBinding mapInteger(@Nonnull ObservableValue<? extends Number> observable) {
711         MappingBindings.mapInteger(observable)
712     }
713 
714     @Nonnull
715     static IntegerBinding mapInteger(
716         @Nonnull ObservableValue<? extends Number> observable, @Nullable Integer defaultValue) {
717         MappingBindings.mapInteger(observable, defaultValue)
718     }
719 
720     @Nonnull
721     static IntegerBinding mapInteger(
722         @Nonnull ObservableValue<? extends Number> observable, @Nullable Supplier<Integer> supplier) {
723         MappingBindings.mapInteger(observable, supplier)
724     }
725 
726     @Nonnull
727     static LongBinding mapLong(@Nonnull ObservableValue<? extends Number> observable) {
728         MappingBindings.mapLong(observable)
729     }
730 
731     @Nonnull
732     static LongBinding mapLong(@Nonnull ObservableValue<? extends Number> observable, @Nullable Long defaultValue) {
733         MappingBindings.mapLong(observable, defaultValue)
734     }
735 
736     @Nonnull
737     static LongBinding mapLong(
738         @Nonnull ObservableValue<? extends Number> observable, @Nullable Supplier<Long> supplier) {
739         MappingBindings.mapLong(observable, supplier)
740     }
741 
742     @Nonnull
743     static FloatBinding mapFloat(@Nonnull ObservableValue<? extends Number> observable) {
744         MappingBindings.mapFloat(observable)
745     }
746 
747     @Nonnull
748     static FloatBinding mapFloat(@Nonnull ObservableValue<? extends Number> observable, @Nullable Float defaultValue) {
749         MappingBindings.mapFloat(observable, defaultValue)
750     }
751 
752     @Nonnull
753     static FloatBinding mapFloat(
754         @Nonnull ObservableValue<? extends Number> observable, @Nullable Supplier<Float> supplier) {
755         MappingBindings.mapFloat(observable, supplier)
756     }
757 
758     @Nonnull
759     static DoubleBinding mapDouble(@Nonnull ObservableValue<? extends Number> observable) {
760         MappingBindings.mapDouble(observable)
761     }
762 
763     @Nonnull
764     static DoubleBinding mapDouble(
765         @Nonnull ObservableValue<? extends Number> observable, @Nullable Double defaultValue) {
766         MappingBindings.mapDouble(observable, defaultValue)
767     }
768 
769     @Nonnull
770     static DoubleBinding mapDouble(
771         @Nonnull ObservableValue<? extends Number> observable, @Nullable Supplier<Double> supplier) {
772         MappingBindings.mapDouble(observable, supplier)
773     }
774 }