# 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>

Type Parameters:
  `T` - the property value type

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 newValue)`
  This method is called from CSS code to set the value of the property.
  `StyleOrigin`
  `getStyleOrigin()`
  Tells the origin of the value of the property.

  ### Methods declared in class javafx.beans.property.ObjectPropertyBase

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

  ### Methods declared in class javafx.beans.property.ObjectProperty

  `bindBidirectional, setValue, unbindBidirectional`

  ### Methods declared in class javafx.beans.binding.ObjectExpression

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

  ### Methods declared in class java.lang.Object

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

  ### Methods declared in interface javafx.beans.Observable

  `subscribe`

  ### Methods declared in interface javafx.beans.value.ObservableValue

  `flatMap, getValue, map, orElse, subscribe, subscribe, when`

  ### Methods declared in interface javafx.beans.property.ReadOnlyProperty

  `getBean, getName`

  ### Methods declared in interface javafx.css.StyleableProperty

  `getCssMetaData`

  ### Methods declared in 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 newValue)
    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
      `newValue` - the value

  - ### 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