Package org.jsoup.select
Class QueryParser
java.lang.Object
org.jsoup.select.QueryParser
- All Implemented Interfaces:
AutoCloseable
Parses a CSS selector into an Evaluator tree.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String[]private static final char[]private booleanprivate static final Patternprivate static final Patternprivate final Stringprivate static final char[]private final TokenQueue -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static EvaluatorMerge two evals into an And.private Evaluatorprivate EvaluatorbyClass()private EvaluatorbyId()private EvaluatorbyTag()voidclose()(package private) static Evaluatorcombinator(Evaluator left, char combinator, Evaluator right) private intprivate Stringprivate Evaluatorcontains(boolean own) private Evaluatorprivate EvaluatorcontainsWholeText(boolean own) private EvaluatorcssNthChild(boolean last, boolean ofType) private Evaluatorprivate Evaluatorhas()private Evaluatoris()private Evaluatormatches(boolean own) private EvaluatormatchesWholeText(boolean own) private Evaluatornot()(package private) static EvaluatorMerge two evals into an Or.(package private) Evaluatorparse()Parse the query.static EvaluatorParse a CSS query into an Evaluator.private EvaluatorparseNested(Function<Evaluator, Evaluator> func, String err) private Evaluatorprivate Evaluator(package private) Evaluator(package private) Evaluator(package private) Evaluator(package private) EvaluatortoString()
-
Field Details
-
Combinators
private static final char[] Combinators -
AttributeEvals
-
SequenceEnders
private static final char[] SequenceEnders -
tq
-
query
-
inNodeContext
private boolean inNodeContext -
NthStepOffset
-
NthOffset
-
-
Constructor Details
-
QueryParser
Create a new QueryParser.- Parameters:
query- CSS query
-
-
Method Details
-
parse
Parse a CSS query into an Evaluator. If you are evaluating the same query repeatedly, it may be more efficient to parse it once and reuse the Evaluator.- Parameters:
query- CSS query- Returns:
- Evaluator
- Throws:
Selector.SelectorParseException- if the CSS query is invalid- See Also:
-
parse
Evaluator parse()Parse the query. We use this simplified expression of the grammar:SelectorGroup ::= Selector (',' Selector)* Selector ::= [ Combinator ] SimpleSequence ( Combinator SimpleSequence )* SimpleSequence ::= [ TypeSelector ] ( ID | Class | Attribute | Pseudo )* Pseudo ::= ':' Name [ '(' SelectorGroup ')' ] Combinator ::= S+ // descendant (whitespace) | '>' // child | '+' // adjacent sibling | '~' // general siblingSee selectors-4 for the real thing -
parseSelectorGroup
Evaluator parseSelectorGroup() -
parseSelector
Evaluator parseSelector() -
parseSimpleSequence
Evaluator parseSimpleSequence() -
combinator
-
parseSubclass
Evaluator parseSubclass() -
or
Merge two evals into an Or. -
and
Merge two evals into an And. -
parsePseudoSelector
-
parseNodeSelector
-
byId
-
byClass
-
byTag
-
byAttribute
-
evaluatorForAttribute
-
cssNthChild
-
consumeParens
-
consumeIndex
private int consumeIndex() -
has
-
is
-
parseNested
-
contains
-
containsWholeText
-
containsData
-
matches
-
matchesWholeText
-
not
-
toString
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-