Class AbstractSelectorMatcher

java.lang.Object
io.sf.carte.doc.style.css.om.AbstractSelectorMatcher
All Implemented Interfaces:
SelectorMatcher, Serializable
Direct Known Subclasses:
BaseSelectorMatcher

public abstract class AbstractSelectorMatcher extends Object implements SelectorMatcher, Serializable
CSS Selector matcher.
See Also:
  • Constructor Details

    • AbstractSelectorMatcher

      public AbstractSelectorMatcher()
  • Method Details

    • getLocalName

      public String getLocalName()
      Gets the local name of the element to which this selector matcher applies.

      It is guaranteed to be lowercase.

      Returns:
      the local name.
    • setLocalName

      protected void setLocalName(String localname)
      Set the local name of the element that this matcher belongs to.
      Parameters:
      localname - the lowercase local name.
    • getClassAttribute

      protected String getClassAttribute(CSSDocument.ComplianceMode mode)
    • getPseudoElement

      public Condition getPseudoElement()
      Description copied from interface: SelectorMatcher
      Get the pseudo-element that this matcher will use to match selectors.
      Specified by:
      getPseudoElement in interface SelectorMatcher
      Returns:
      the pseudo-element condition, or null if no pseudo-element will be used to match selectors.
    • setPseudoElement

      public void setPseudoElement(Condition pseudoElt)
      Set this selector's pseudo-element.
      Specified by:
      setPseudoElement in interface SelectorMatcher
      Parameters:
      pseudoElt - the pseudo-element, or null if none.
    • isActivePseudoClass

      protected boolean isActivePseudoClass(String pseudoclassName)
    • matches

      public int matches(SelectorList selist)
      Does this selector match the given selector list?
      Specified by:
      matches in interface SelectorMatcher
      Parameters:
      selist - the list of selectors to which this matcher will compare.
      Returns:
      the index of the highest matching selector, or -1 if none matches.
    • matches

      public boolean matches(Selector selector)
      Does this matcher match the given selector?
      Specified by:
      matches in interface SelectorMatcher
      Parameters:
      selector - the selector to be tested.
      Returns:
      true if the given selector matches this object, false otherwise.
    • matchesId

      protected boolean matchesId(String value)
    • isDir

      protected boolean isDir(String argument)
    • isChecked

      protected boolean isChecked()
    • isEnabled

      protected boolean isEnabled()
    • isFormElement

      protected boolean isFormElement()
    • isIndeterminate

      protected boolean isIndeterminate()
    • isAnyLink

      protected boolean isAnyLink()
    • isNotVisitedLink

      protected boolean isNotVisitedLink()
    • isVisitedLink

      protected boolean isVisitedLink()
    • isOnlyChild

      protected boolean isOnlyChild()
      The element in this matcher is the only child?
      Returns:
      true if the element in this matcher is the only child, false if not.
    • isOnlyOfType

      protected boolean isOnlyOfType()
      The element in this matcher is the only child of its type (tag name)?
      Returns:
      true if the element in this matcher is the only child of its type, false if not.
    • isPlaceholderShown

      protected boolean isPlaceholderShown()
    • isReadWrite

      protected boolean isReadWrite()
    • isUIDefault

      protected boolean isUIDefault()
    • getComplianceMode

      protected abstract CSSDocument.ComplianceMode getComplianceMode()
    • getNamespaceURI

      protected abstract String getNamespaceURI()
      Gets the namespace URI of the element associated to this selector matcher.
      Returns:
      the namespace URI, or null if the element belongs to no specific namespace.
    • scopeMatchChild

      protected abstract boolean scopeMatchChild(CombinatorSelector selector)
    • scopeMatchDescendant

      protected abstract boolean scopeMatchDescendant(CombinatorSelector selector)
    • scopeMatchDirectAdjacent

      protected abstract boolean scopeMatchDirectAdjacent(CombinatorSelector selector)
    • getParentSelectorMatcher

      protected abstract AbstractSelectorMatcher getParentSelectorMatcher()
      Gets the selector matcher for the parent element.
      Returns:
      the selector matcher for the parent element, or null if none.
    • getPreviousSiblingSelectorMatcher

      protected abstract AbstractSelectorMatcher getPreviousSiblingSelectorMatcher()
      Gets the selector matcher for the previous sibling.
      Returns:
      the selector matcher for the previous sibling, or null if no previous sibling.
    • getAttributeValue

      protected abstract String getAttributeValue(String attrName)
      Gets the value of the given attribute in the element associated to this selector matcher.
      Parameters:
      attrName - the attribute name.
      Returns:
      the attribute value, or the empty string if the attribute is defined but has no value, also if the attribute is not defined. Never returns null.
    • hasAttribute

      protected abstract boolean hasAttribute(String attrName)
      Checks if is defined the given attribute in the element associated to this selector matcher.
      Parameters:
      attrName - the attribute name.
      Returns:
      true if the attribute is defined, false if not.
    • getId

      protected abstract String getId()
      Gets the 'id' attribute of the element associated to this selector matcher.
      Returns:
      the 'id' attribute value, or the empty string if the element has no 'id'.
    • getLanguage

      protected abstract String getLanguage()
      Gets the language of the element associated to this selector matcher.
      Returns:
      the language, or the empty String if the element has no language defined.
    • getDirectionality

      protected abstract DirectionalityHelper.Directionality getDirectionality()
      Get the directionality of the element associated to this matcher.
      Returns:
      the directionality.
    • isFirstChild

      protected abstract boolean isFirstChild()
      The element in this matcher is the first child?
      Returns:
      true if the element in this matcher is a first child, false if not.
    • isLastChild

      protected abstract boolean isLastChild()
      The element in this matcher is the last child?
      Returns:
      true if the element in this matcher is the last child, false if not.
    • isFirstOfType

      protected abstract boolean isFirstOfType()
      The element in this matcher is the first child of its type (tag name)?
      Returns:
      true if the element in this matcher is a first child of its type, false if not.
    • isLastOfType

      protected abstract boolean isLastOfType()
      The element in this matcher is the last child of its type (tag name)?
      Returns:
      true if the element in this matcher is the last child of its type, false if not.
    • indexOf

      protected abstract int indexOf(SelectorList list)
    • reverseIndexOf

      protected abstract int reverseIndexOf(SelectorList list)
    • isNthOfType

      protected abstract boolean isNthOfType(int step, int offset)
    • isNthLastOfType

      protected abstract boolean isNthLastOfType(int step, int offset)
    • isTarget

      protected abstract boolean isTarget()
    • isRoot

      protected abstract boolean isRoot()
    • isEmpty

      protected abstract boolean isEmpty()
    • isBlank

      protected abstract boolean isBlank()
    • isDisabled

      protected abstract boolean isDisabled()
    • isDefaultButton

      protected abstract boolean isDefaultButton()
    • isVisitedURI

      protected abstract boolean isVisitedURI(String href)
    • findStatePseudoClasses

      public static void findStatePseudoClasses(Selector selector, List<String> statePseudoClasses)
      Add to the list all the state pseudo-classes found in the selector.

      This method is intended to be called from a CSSCanvas object.

      Parameters:
      selector - the selector to be tested.
      statePseudoClasses - the list of state pseudo-classes.
    • toString

      public String toString()
      Overrides:
      toString in class Object