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