Module javafx.graphics
Package javafx.css

# Class StyleableObjectProperty<T>

java.lang.Object
javafx.beans.binding.ObjectExpression<T>
javafx.beans.property.ReadOnlyObjectProperty<T>
javafx.beans.property.ObjectProperty<T>
javafx.beans.property.ObjectPropertyBase<T>
javafx.css.StyleableObjectProperty<T>

All Implemented Interfaces:
  `Observable`, `Property<T>`, `ReadOnlyProperty<T>`, `ObservableObjectValue<T>`, `ObservableValue<T>`, `WritableObjectValue<T>`, `WritableValue<T>`, `StyleableProperty<T>`

Direct Known Subclasses:
  `SimpleStyleableObjectProperty`

    public abstract class StyleableObjectProperty<T>
    extends ObjectPropertyBase<T>
    implements StyleableProperty<T>

This class extends `ObjectPropertyBase` and provides a partial implementation of a `StyleableProperty`. The method `StyleableProperty.getCssMetaData()` is not implemented. This class is used to make a `ObjectProperty`, that would otherwise be implemented as a `ObjectPropertyBase`, styleable by CSS.

Since:
  JavaFX 8.0
See Also:
  `ObjectPropertyBase`, `CssMetaData`, `StyleableProperty`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `StyleableObjectProperty()` | The constructor of the `StyleableObjectProperty`.
  `StyleableObjectProperty​(T initialValue)` | The constructor of the `StyleableObjectProperty`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `applyStyle​(StyleOrigin origin, T v)` | This method is called from CSS code to set the value of the property.
  `void` | `bind​(ObservableValue<? extends T> observable)` | Create a unidirection binding for this `Property`.
  `StyleOrigin` | `getStyleOrigin()` | Tells the origin of the value of the property.
  `void` | `set​(T v)` | Set the wrapped value.

  ### Methods inherited from class javafx.beans.property.ObjectPropertyBase

  `addListener, addListener, fireValueChangedEvent, get, invalidated, isBound, removeListener, removeListener, toString, unbind`

  ### Methods inherited from class javafx.beans.property.ObjectProperty

  `bindBidirectional, setValue, unbindBidirectional`

  ### Methods inherited from class javafx.beans.binding.ObjectExpression

  `asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface javafx.beans.value.ObservableValue

  `getValue`

  ### Methods inherited from interface javafx.beans.property.ReadOnlyProperty

  `getBean, getName`

  ### Methods inherited from interface javafx.css.StyleableProperty

  `getCssMetaData`

  ### Methods inherited from interface javafx.beans.value.WritableValue

  `getValue, setValue`

- ## Constructor Details

  - ### StyleableObjectProperty

    public StyleableObjectProperty()
    The constructor of the `StyleableObjectProperty`.

  - ### StyleableObjectProperty

    public StyleableObjectProperty​(T initialValue)
    The constructor of the `StyleableObjectProperty`.
    Parameters:
      `initialValue` - the initial value of the wrapped `Object`

- ## Method Details

  - ### applyStyle

    public void applyStyle​(StyleOrigin origin, T v)
    This method is called from CSS code to set the value of the property.
    Specified by:
      `applyStyle` in interface `StyleableProperty<T>`
    Parameters:
      `origin` - the origin
      `v` - the value

  - ### bind

    public void bind​(ObservableValue<? extends T> observable)
    Create a unidirection binding for this `Property`.

    Note that JavaFX has all the bind calls implemented through weak listeners. This means the bound property can be garbage collected and stopped from being updated.

    Specified by:
      `bind` in interface `Property<T>`
    Overrides:
      `bind` in class `ObjectPropertyBase<T>`
    Parameters:
      `observable` - The observable this `Property` should be bound to.

  - ### set

    public void set​(T v)
    Set the wrapped value. Should be equivalent to `WritableValue.setValue(java.lang.Object)`
    Specified by:
      `set` in interface `WritableObjectValue<T>`
    Overrides:
      `set` in class `ObjectPropertyBase<T>`
    Parameters:
      `v` - The new value
    See Also:
      `WritableObjectValue.get()`

  - ### getStyleOrigin

    public StyleOrigin getStyleOrigin()
    Tells the origin of the value of the property. This is needed to determine whether or not CSS can override the value.
    Specified by:
      `getStyleOrigin` in interface `StyleableProperty<T>`
    Returns:
      the style origin