Class RootSelector

  • All Implemented Interfaces:
    Selector

    public class RootSelector
    extends java.lang.Object
    implements Selector
    A root selector selects by checking if a widget is the root widget of its hierarchy (i.e. if it has no parent).

    Equivalent to :root selector in CSS. Its specificity is (0,0,1,0).

    See Also:
    SelectorHelper
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static RootSelector ROOT_SELECTOR
      Root selector singleton to avoid creating several ones.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean appliesToWidget​(Widget widget)
      Checks whether or not this selector applies to the given widget.
      boolean equals​(java.lang.Object obj)  
      int getSpecificity()
      Returns the specificity of this selector.
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ROOT_SELECTOR

        public static final RootSelector ROOT_SELECTOR
        Root selector singleton to avoid creating several ones.
    • Method Detail

      • appliesToWidget

        public boolean appliesToWidget​(Widget widget)
        Description copied from interface: Selector
        Checks whether or not this selector applies to the given widget.
        Specified by:
        appliesToWidget in interface Selector
        Parameters:
        widget - the widget to test.
        Returns:
        true if this selectors applies to the given widget, false otherwise.
      • getSpecificity

        public int getSpecificity()
        Description copied from interface: Selector
        Returns the specificity of this selector.

        The specificity allows to determine in which order the rules of a stylesheet should be applied.

        A specificity is composed of four numbers (defined by CSS2 specification):

        • count 1 if the declaration is from is a 'style' attribute rather than a rule with a selector, 0 otherwise (= a)
        • count the number of ID attributes in the selector (= b)
        • count the number of other attributes and pseudo-classes in the selector (= c)
        • count the number of widget names and pseudo-widgets in the selector (= d)
        Concatenating the four numbers a-b-c-d (in a number system with a large base) gives the specificity. In this implementation, each number is stored on a byte in an integer. SelectorHelper provides a method to compute the specificity of a selector.
        Specified by:
        getSpecificity in interface Selector
        Returns:
        the specificity of this selector.
      • equals

        public boolean equals​(@Nullable
                              java.lang.Object obj)
        Specified by:
        equals in interface Selector
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object