Class TypeSelector

  • All Implemented Interfaces:
    Selector

    public class TypeSelector
    extends java.lang.Object
    implements Selector
    A type or subtype selector selects by checking the widget type hierarchy (Java class).

    Does not exist in CSS since there is no inheritance between tags. Its specificity is (0,0,0,1).

    See Also:
    Object.getClass(), Class.isAssignableFrom(Class), SelectorHelper
    • Constructor Summary

      Constructors 
      Constructor Description
      TypeSelector​(java.lang.Class<? extends Widget> type)
      Creates a type or subtype selector.
    • 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.
      java.lang.Class<? extends Widget> getType()
      Gets the selected type.
      int hashCode()  
      • Methods inherited from class java.lang.Object

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

      • TypeSelector

        public TypeSelector​(java.lang.Class<? extends Widget> type)
        Creates a type or subtype selector.
        Parameters:
        type - the widget subtype to check.
    • Method Detail

      • getType

        public java.lang.Class<? extends Widget> getType()
        Gets the selected type.
        Returns:
        the type
      • 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