Selector (JavaFX 17)

Module javafx.graphics
Package javafx.css

## Class Selector

- java.lang.Object
- - javafx.css.Selector

- Direct Known Subclasses:
    `CompoundSelector`, `SimpleSelector`

      public abstract class Selector
      extends Object

  Used by `CSSRule` to determine whether or not the `Selector` applies to a given object.
  Since:
    9

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract boolean` | `applies​(Styleable styleable)` | Gets whether this `Selector` applies to the given `Styleable`.
    `abstract boolean` | `applies​(Styleable styleable, Set<PseudoClass>[] triggerStates, int depth)` | Gets whether this `Selector` applies to the given `Styleable`.
    `abstract Match` | `createMatch()` | Creates a `Match`.
    `static Selector` | `createSelector​(String cssSelector)` | Creates a `Selector` object.
    `int` | `getOrdinal()` | Gets the ordinal of this Selector.
    `Rule` | `getRule()` | Gets the `Rule` of this Selector.
    `void` | `setOrdinal​(int ordinal)` | Sets the ordinal of this Selector.
    `abstract boolean` | `stateMatches​(Styleable styleable, Set<PseudoClass> state)` | Determines whether the current state of the `Node` and its parents matches the pseudo-classes defined (if any) for this selector.
    `protected void` | `writeBinary​(DataOutputStream os, StyleConverter.StringStore stringStore)` | Writes `Selector` data in binary form to given `DataOutputStream`.

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

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

- - ### Method Detail

    - #### getRule

          public Rule getRule()

      Gets the `Rule` of this Selector.
      Returns:
        rule

    - #### setOrdinal

          public void setOrdinal​(int ordinal)

      Sets the ordinal of this Selector.
      Parameters:
        `ordinal` - the ordinal of this Selector

    - #### getOrdinal

          public int getOrdinal()

      Gets the ordinal of this Selector.
      Returns:
        the ordinal of this Selector

    - #### createMatch

          public abstract Match createMatch()

      Creates a `Match`.
      Returns:
        match

    - #### applies

          public abstract boolean applies​(Styleable styleable)

      Gets whether this `Selector` applies to the given `Styleable`.
      Parameters:
        `styleable` - the `Styleable` to match
      Returns:
        `true` if this `Selector` applies to the given `Styleable`

    - #### applies

          public abstract boolean applies​(Styleable styleable,
                                          Set<PseudoClass>[] triggerStates,
                                          int depth)

      Gets whether this `Selector` applies to the given `Styleable`. It is the same as the `applies(javafx.css.Styleable)` method except it also returns `PseudoClass` state that it finds along the way.
      Parameters:
        `styleable` - the `Styleable` to match
        `triggerStates` - a set of `PseudoClass` states
        `depth` - depth of the `Node` heirarchy to look for
      Returns:
        `true` if this `Selector` and a set of `PseudoClass` applies to the given `Styleable`

    - #### stateMatches

          public abstract boolean stateMatches​(Styleable styleable,
                                               Set<PseudoClass> state)

      Determines whether the current state of the `Node` and its parents matches the pseudo-classes defined (if any) for this selector.
      Parameters:
        `styleable` - the styleable
        `state` - the state
      Returns:
        `true` if the current state of the node and its parents matches the pseudo-classes defined (if any) for this selector

    - #### writeBinary

          protected void writeBinary​(DataOutputStream os,
                                     StyleConverter.StringStore stringStore)
                              throws IOException

      Writes `Selector` data in binary form to given `DataOutputStream`.
      Parameters:
        `os` - `DataOutputStream` to write `Selector` data to
        `stringStore` - unused
      Throws:
        `IOException` - if writing to `DataOutputStream` fails

    - #### createSelector

          public static Selector createSelector​(String cssSelector)

      Creates a `Selector` object.
      Parameters:
        `cssSelector` - CSS selector string
      Returns:
        a `Selector`