Class Selector
java.lang.Object
org.xhtmlrenderer.css.newmatch.Selector
A Selector is really a chain of CSS selectors that all need to be valid for
the selector to match.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Selector.Axisprivate Stringprivate Stringprivate Rulesetprivate intprivate Stringprivate intprivate intprivate intprivate intstatic final intprivate Selectorstatic final intstatic final intprivate static intprivate final intGive each a unique ID to be able to create a key to internalize Matcher.Mappersprivate Selectorstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAttributeEqualsCondition(String namespaceURI, String name, String value) the CSS condition [attribute=value]voidaddAttributeExistsCondition(String namespaceURI, String name) the CSS condition [attribute]voidaddAttributeMatchesFirstPartCondition(String namespaceURI, String name, String value) the CSS condition [attribute|=value]voidaddAttributeMatchesListCondition(String namespaceURI, String name, String value) the CSS condition [attribute~=value]voidaddAttributePrefixCondition(String namespaceURI, String name, String value) the CSS condition [attribute^=value]voidaddAttributeSubstringCondition(String namespaceURI, String name, String value) the CSS condition [attribute*=value]voidaddAttributeSuffixCondition(String namespaceURI, String name, String value) the CSS condition [attribute$=value]voidaddClassCondition(String className) the CSS condition .classprivate voidAdds a feature to the Condition attribute of the Selector objectvoidthe CSS condition that element has pseudo-class :evenvoidthe CSS condition that element has pseudo-class :first-childvoidaddIDCondition(String id) the CSS condition #IDvoidaddLangCondition(String lang) the CSS condition :lang(Xx)voidthe CSS condition that element has pseudo-class :last-childvoidthe CSS condition that element has pseudo-class :linkvoidaddNthChildCondition(String number) the CSS condition that element has pseudo-class :nth-child(an+b)voidthe CSS condition that element has pseudo-class :oddvoidfor unsupported or invalid CSS(package private) @Nullable NodegetAppropriateSibling(Node e, TreeResolver treeRes) Gets the appropriateSibling attribute of the Selector objectgetAxis()get the axis that this selector should be evaluated onget the next selector in the chain, for matching against elements along the appropriate axis(package private) StringgetOrder()returns "a number in a large base" with specificity and specification order of selectorGets the pseudoElement attribute of the Selector objectget the Ruleset that this Selector is part ofintintThe correct specificity value for this selector and its sibling-axis selectorsintThe correct specificity value for this selector and its sibling-axis selectorsintThe correct specificity value for this selector and its sibling-axis selectorsbooleanisPseudoClass(int pc) query if a pseudo-class must apply for this selectorbooleanmatches(Node e, AttributeResolver attRes, TreeResolver treeRes) Check if the given Element matches this selector.booleanmatchesDynamic(Node e, AttributeResolver attRes, TreeResolver treeRes) Check if the given Element matches this selector's dynamic properties.voidsetAxis(Selector.Axis axis) voidsetChainedSelector(Selector selector) voidvoidsetNamespaceURI(String namespaceURI) voidvoidsetPos(int pos) voidsetPseudoClass(int pc) set which pseudo-classes must apply for this selectorvoidsetPseudoElement(String pseudoElement) check if selector queries for dynamic propertiesvoidsetSiblingSelector(Selector selector) voidsetSpecificityB(int b) voidsetSpecificityC(int c) voidsetSpecificityD(int d) toString()
-
Field Details
-
_parent
-
chainedSelector
-
siblingSelector
-
_axis
-
_name
-
_namespaceURI
-
_pc
private int _pc -
_pe
-
_specificityB
private int _specificityB -
_specificityC
private int _specificityC -
_specificityD
private int _specificityD -
_pos
private int _pos -
conditions
-
VISITED_PSEUDOCLASS
public static final int VISITED_PSEUDOCLASS- See Also:
-
HOVER_PSEUDOCLASS
public static final int HOVER_PSEUDOCLASS- See Also:
-
ACTIVE_PSEUDOCLASS
public static final int ACTIVE_PSEUDOCLASS- See Also:
-
FOCUS_PSEUDOCLASS
public static final int FOCUS_PSEUDOCLASS- See Also:
-
selectorID
private final int selectorIDGive each a unique ID to be able to create a key to internalize Matcher.Mappers -
selectorCount
private static int selectorCount
-
-
Constructor Details
-
Selector
public Selector()
-
-
Method Details
-
matches
Check if the given Element matches this selector. Note: the parser should give all class -
matchesDynamic
Check if the given Element matches this selector's dynamic properties. Note: the parser should give all class -
addUnsupportedCondition
public void addUnsupportedCondition()for unsupported or invalid CSS -
addLinkCondition
public void addLinkCondition()the CSS condition that element has pseudo-class :link -
addFirstChildCondition
public void addFirstChildCondition()the CSS condition that element has pseudo-class :first-child -
addLastChildCondition
public void addLastChildCondition()the CSS condition that element has pseudo-class :last-child -
addNthChildCondition
the CSS condition that element has pseudo-class :nth-child(an+b) -
addEvenChildCondition
public void addEvenChildCondition()the CSS condition that element has pseudo-class :even -
addOddChildCondition
public void addOddChildCondition()the CSS condition that element has pseudo-class :odd -
addLangCondition
the CSS condition :lang(Xx) -
addIDCondition
the CSS condition #ID -
addClassCondition
the CSS condition .class -
addAttributeExistsCondition
-
addAttributeEqualsCondition
-
addAttributePrefixCondition
-
addAttributeSuffixCondition
-
addAttributeSubstringCondition
-
addAttributeMatchesListCondition
-
addAttributeMatchesFirstPartCondition
-
setPseudoClass
public void setPseudoClass(int pc) set which pseudo-classes must apply for this selector- Parameters:
pc- the values from AttributeResolver should be used. Once set they cannot be unset. Note that the pseudo-classes should be set one at a time, otherwise specificity of declaration becomes wrong.
-
setPseudoElement
check if selector queries for dynamic properties- Parameters:
pseudoElement- The new pseudoElement value
-
isPseudoClass
public boolean isPseudoClass(int pc) query if a pseudo-class must apply for this selector- Parameters:
pc- the values from AttributeResolver should be used.- Returns:
- The pseudoClass value
-
getPseudoElement
Gets the pseudoElement attribute of the Selector object- Returns:
- The pseudoElement value
-
getChainedSelector
get the next selector in the chain, for matching against elements along the appropriate axis- Returns:
- The chainedSelector value
-
getRuleset
get the Ruleset that this Selector is part of- Returns:
- The ruleset value
-
getAxis
get the axis that this selector should be evaluated on- Returns:
- The axis value
-
getSpecificityB
public int getSpecificityB()The correct specificity value for this selector and its sibling-axis selectors -
getSpecificityD
public int getSpecificityD()The correct specificity value for this selector and its sibling-axis selectors -
getSpecificityC
public int getSpecificityC()The correct specificity value for this selector and its sibling-axis selectors -
getOrder
String getOrder()returns "a number in a large base" with specificity and specification order of selector- Returns:
- The order value
-
getAppropriateSibling
Gets the appropriateSibling attribute of the Selector object- Returns:
- The appropriateSibling value
-
addCondition
Adds a feature to the Condition attribute of the Selector object- Parameters:
c- The feature to be added to the Condition attribute
-
getSelectorID
public int getSelectorID() -
setName
-
setPos
public void setPos(int pos) -
setParent
-
setAxis
-
setSpecificityB
public void setSpecificityB(int b) -
setSpecificityC
public void setSpecificityC(int c) -
setSpecificityD
public void setSpecificityD(int d) -
setChainedSelector
-
setSiblingSelector
-
setNamespaceURI
-
toString
-