40 * that are common to all NumberExpression subclasses.
41 * <p>
42 * NumberExpressionBase serves as a place for common code of specific NumberExpression subclasses for the
43 * specific number type.
44 * @see IntegerExpression
45 * @see LongExpression
46 * @see FloatExpression
47 * @see DoubleExpression
48 * @since JavaFX 2.0
49 */
50 public abstract class NumberExpressionBase implements NumberExpression {
51
52 /**
53 * Returns an {@code NumberExpressionBase} that wraps a
54 * {@link javafx.beans.value.ObservableNumberValue}. If the
55 * {@code ObservableNumberValue} is already an instance of
56 * {@code NumberExpressionBase}, it will be returned. Otherwise a new
57 * {@link javafx.beans.binding.NumberBinding} is created that is bound to
58 * the {@code ObservableNumberValue}.
59 *
60 * @param value
61 * The source {@code ObservableNumberValue}
62 * @return An {@code NumberExpressionBase} that wraps the
63 * {@code ObservableNumberValue} if necessary
64 * @throws NullPointerException
65 * if {@code value} is {@code null}
66 */
67 public static <S extends Number> NumberExpressionBase numberExpression(
68 final ObservableNumberValue value) {
69 if (value == null) {
70 throw new NullPointerException("Value must be specified.");
71 }
72 NumberExpressionBase result = (NumberExpressionBase) ((value instanceof NumberExpressionBase) ? value
73 : (value instanceof ObservableIntegerValue) ? IntegerExpression
74 .integerExpression((ObservableIntegerValue) value)
75 : (value instanceof ObservableDoubleValue) ? DoubleExpression
76 .doubleExpression((ObservableDoubleValue) value)
77 : (value instanceof ObservableFloatValue) ? FloatExpression
78 .floatExpression((ObservableFloatValue) value)
79 : (value instanceof ObservableLongValue) ? LongExpression
|
40 * that are common to all NumberExpression subclasses.
41 * <p>
42 * NumberExpressionBase serves as a place for common code of specific NumberExpression subclasses for the
43 * specific number type.
44 * @see IntegerExpression
45 * @see LongExpression
46 * @see FloatExpression
47 * @see DoubleExpression
48 * @since JavaFX 2.0
49 */
50 public abstract class NumberExpressionBase implements NumberExpression {
51
52 /**
53 * Returns an {@code NumberExpressionBase} that wraps a
54 * {@link javafx.beans.value.ObservableNumberValue}. If the
55 * {@code ObservableNumberValue} is already an instance of
56 * {@code NumberExpressionBase}, it will be returned. Otherwise a new
57 * {@link javafx.beans.binding.NumberBinding} is created that is bound to
58 * the {@code ObservableNumberValue}.
59 *
60 * @param <S> The type of Number to be wrapped
61 * @param value
62 * The source {@code ObservableNumberValue}
63 * @return An {@code NumberExpressionBase} that wraps the
64 * {@code ObservableNumberValue} if necessary
65 * @throws NullPointerException
66 * if {@code value} is {@code null}
67 */
68 public static <S extends Number> NumberExpressionBase numberExpression(
69 final ObservableNumberValue value) {
70 if (value == null) {
71 throw new NullPointerException("Value must be specified.");
72 }
73 NumberExpressionBase result = (NumberExpressionBase) ((value instanceof NumberExpressionBase) ? value
74 : (value instanceof ObservableIntegerValue) ? IntegerExpression
75 .integerExpression((ObservableIntegerValue) value)
76 : (value instanceof ObservableDoubleValue) ? DoubleExpression
77 .doubleExpression((ObservableDoubleValue) value)
78 : (value instanceof ObservableFloatValue) ? FloatExpression
79 .floatExpression((ObservableFloatValue) value)
80 : (value instanceof ObservableLongValue) ? LongExpression
|