/* * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package javafx.beans.property; import com.sun.javafx.binding.BidirectionalBinding; import javafx.beans.binding.Bindings; import javafx.beans.value.ObservableValue; import javafx.beans.value.WritableLongValue; import com.sun.javafx.binding.Logging; /** * This class defines a {@link Property} wrapping a {@code long} value. *
* The value of a {@code LongProperty} can be get and set with {@link #get()}, * {@link #getValue()}, {@link #set(long)}, and {@link #setValue(Number)}. *
* A property can be bound and unbound unidirectional with * {@link #bind(ObservableValue)} and {@link #unbind()}. Bidirectional bindings * can be created and removed with {@link #bindBidirectional(Property)} and * {@link #unbindBidirectional(Property)}. *
* The context of a {@code LongProperty} can be read with {@link #getBean()} * and {@link #getName()}. *
* Note: setting or binding this property to a null value will set the property to "0.0". See {@link #setValue(java.lang.Number) }.
* @see javafx.beans.value.ObservableLongValue
* @see javafx.beans.value.WritableLongValue
* @see ReadOnlyLongProperty
* @see Property
*
* @since JavaFX 2.0
*/
public abstract class LongProperty extends ReadOnlyLongProperty implements
Property
* This is very useful when bidirectionally binding an ObjectProperty
* Note: null values in the source property will be interpreted as 0L
*
* @param property
* The source {@code Property}
* @return A {@code LongProperty} that wraps the
* {@code Property}
* @throws NullPointerException
* if {@code property} is {@code null}
* @see #asObject()
* @since JavaFX 8.0
*/
public static LongProperty longProperty(final Property
* Can be used for binding an ObjectProperty to LongProperty.
*
*
*
* Another approach is to convert the LongProperty to ObjectProperty using
* {@link #asObject()} method.
*
*
* LongProperty longProperty = new SimpleLongProperty(1L);
* ObjectProperty<Long> objectProperty = new SimpleObjectProperty<>(2L);
*
* // Need to keep the reference as bidirectional binding uses weak references
* LongProperty objectAsLong = LongProperty.longProperty(objectProperty);
*
* longProperty.bindBidirectional(objectAsLong);
*
*
*
* @return the new {@code ObjectProperty}
* @since JavaFX 8.0
*/
@Override
public ObjectProperty
* LongProperty longProperty = new SimpleLongProperty(1L);
* ObjectProperty<Long> objectProperty = new SimpleObjectProperty<>(2L);
*
* objectProperty.bind(longProperty.asObject());
*