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

    All Methods Instance Methods Concrete Methods
    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 Detail

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

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