Package org.jsoup.select

## Class Evaluator

- java.lang.Object
- - org.jsoup.select.Evaluator

Direct Known Subclasses:
  `CombiningEvaluator`, `Evaluator.AllElements`, `Evaluator.Attribute`, `Evaluator.AttributeKeyPair`, `Evaluator.AttributeStarting`, `Evaluator.AttributeWithValueMatching`, `Evaluator.Class`, `Evaluator.ContainsData`, `Evaluator.ContainsOwnText`, `Evaluator.ContainsText`, `Evaluator.CssNthEvaluator`, `Evaluator.Id`, `Evaluator.IndexEvaluator`, `Evaluator.IsEmpty`, `Evaluator.IsFirstChild`, `Evaluator.IsLastChild`, `Evaluator.IsOnlyChild`, `Evaluator.IsOnlyOfType`, `Evaluator.IsRoot`, `Evaluator.Matches`, `Evaluator.MatchesOwn`, `Evaluator.MatchText`, `Evaluator.Tag`, `Evaluator.TagEndsWith`

    public abstract class Evaluator
    extends java.lang.Object

Evaluates that an element matches the selector.

### Nested Class Summary

Nested Classes
`static class` `Evaluator.AllElements` Evaluator for any / all element matching
`static class` `Evaluator.Attribute` Evaluator for attribute name matching
`static class` `Evaluator.AttributeKeyPair` Abstract evaluator for attribute name/value matching
`static class` `Evaluator.AttributeStarting` Evaluator for attribute name prefix matching
`static class` `Evaluator.AttributeWithValue` Evaluator for attribute name/value matching
`static class` `Evaluator.AttributeWithValueContaining` Evaluator for attribute name/value matching (value containing)
`static class` `Evaluator.AttributeWithValueEnding` Evaluator for attribute name/value matching (value ending)
`static class` `Evaluator.AttributeWithValueMatching` Evaluator for attribute name/value matching (value regex matching)
`static class` `Evaluator.AttributeWithValueNot` Evaluator for attribute name != value matching
`static class` `Evaluator.AttributeWithValueStarting` Evaluator for attribute name/value matching (value prefix)
`static class` `Evaluator.Class` Evaluator for element class
`static class` `Evaluator.ContainsData` Evaluator for matching Element (and its descendants) data
`static class` `Evaluator.ContainsOwnText` Evaluator for matching Element's own text
`static class` `Evaluator.ContainsText` Evaluator for matching Element (and its descendants) text
`static class` `Evaluator.CssNthEvaluator`
`static class` `Evaluator.Id` Evaluator for element id
`static class` `Evaluator.IndexEquals` Evaluator for matching by sibling index number (e = idx)
`static class` `Evaluator.IndexEvaluator` Abstract evaluator for sibling index matching
`static class` `Evaluator.IndexGreaterThan` Evaluator for matching by sibling index number (e > idx)
`static class` `Evaluator.IndexLessThan` Evaluator for matching by sibling index number (e < idx)
`static class` `Evaluator.IsEmpty`
`static class` `Evaluator.IsFirstChild` Evaluator for matching the first sibling (css :first-child)
`static class` `Evaluator.IsFirstOfType`
`static class` `Evaluator.IsLastChild` Evaluator for matching the last sibling (css :last-child)
`static class` `Evaluator.IsLastOfType`
`static class` `Evaluator.IsNthChild` css-compatible Evaluator for :eq (css :nth-child)
`static class` `Evaluator.IsNthLastChild` css pseudo class :nth-last-child)
`static class` `Evaluator.IsNthLastOfType`
`static class` `Evaluator.IsNthOfType` css pseudo class nth-of-type
`static class` `Evaluator.IsOnlyChild`
`static class` `Evaluator.IsOnlyOfType`
`static class` `Evaluator.IsRoot` css3 pseudo-class :root
`static class` `Evaluator.Matches` Evaluator for matching Element (and its descendants) text with regex
`static class` `Evaluator.MatchesOwn` Evaluator for matching Element's own text with regex
`static class` `Evaluator.MatchText`
`static class` `Evaluator.Tag` Evaluator for tag name
`static class` `Evaluator.TagEndsWith` Evaluator for tag name that ends with

### Constructor Summary

Constructors
`protected` `Evaluator()`

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract boolean` `matches​(Element root, Element element)` Test if the element meets the evaluator's requirements.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Evaluator

    protected Evaluator()

### Method Detail

#### matches

    public abstract boolean matches​(Element root,
                                    Element element)

Test if the element meets the evaluator's requirements.

Parameters:
  `root` - Root of the matching subtree
  `element` - tested element
Returns:
  Returns `true` if the requirements are met or `false` otherwise