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

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

  ### Methods declared in class StringProperty

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

  ### Methods declared in class 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 declared in class Object

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

  ### Methods declared in interface Observable

  `subscribe`

  ### Methods declared in interface ObservableValue

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

  ### Methods declared in interface ReadOnlyProperty

  `getBean, getName`

  ### Methods declared in interface StyleableProperty

  `getCssMetaData`

  ### Methods declared in interface 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 newValue)
    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
      `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<String>`
    Returns:
      the style origin