Module javafx.graphics
Package javafx.css

# Class StyleableStringProperty

java.lang.Object
javafx.beans.binding.StringExpression
javafx.beans.property.ReadOnlyStringProperty
javafx.beans.property.StringProperty
javafx.beans.property.StringPropertyBase
javafx.css.StyleableStringProperty

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

Direct Known Subclasses:
  `SimpleStyleableStringProperty`

public abstract class StyleableStringProperty extends StringPropertyBase implements StyleableProperty<String>
This class extends `StringPropertyBase` and provides a partial implementation of a `StyleableProperty`. The method `StyleableProperty.getCssMetaData()` is not implemented. This class is used to make a `StringProperty`, that would otherwise be implemented as a `StringPropertyBase`, styleable by CSS.

Since:
  JavaFX 8.0
See Also:
  - `StringPropertyBase`
  - `CssMetaData`
  - `StyleableProperty`

## Constructor Summary

Constructors
Constructor
Description
`StyleableStringProperty()`
The constructor of the `StyleableStringProperty`.
`StyleableStringProperty(String initialValue)`
The constructor of the `StyleableStringProperty`.

## Method Summary

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

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

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

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

`bindBidirectional, bindBidirectional, bindBidirectional, setValue, unbindBidirectional, unbindBidirectional`

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

`concat, getValue, getValueSafe, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, isEmpty, isEqualTo, isEqualTo, isEqualToIgnoreCase, isEqualToIgnoreCase, isNotEmpty, isNotEqualTo, isNotEqualTo, isNotEqualToIgnoreCase, isNotEqualToIgnoreCase, isNotNull, isNull, length, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, stringExpression`

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

### StyleableStringProperty

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

### StyleableStringProperty

public StyleableStringProperty(String initialValue)
The constructor of the `StyleableStringProperty`.

Parameters:
  `initialValue` - the initial value of the wrapped `Object`

## Method Details

### applyStyle

public void applyStyle(StyleOrigin origin, String v)
This method is called from CSS code to set the value of the property.

Specified by:
  `applyStyle` in interface `StyleableProperty<String>`
Parameters:
  `origin` - the origin
  `v` - the value

### bind

public void bind(ObservableValue<? extends String> 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<String>`
Overrides:
  `bind` in class `StringPropertyBase`
Parameters:
  `observable` - The observable this `Property` should be bound to.

### set

public void set(String v)
Set the wrapped value. Should be equivalent to `WritableValue.setValue(java.lang.Object)`

Specified by:
  `set` in interface `WritableObjectValue<String>`
Overrides:
  `set` in class `StringPropertyBase`
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<String>`
Returns:
  the style origin