Class Selector

All Implemented Interfaces:
Comparable<Item>, Iterable<Item>, Debug, Display
Direct Known Subclasses:
ChildrenSelector, DescendantsSelector, FilterSelector, GetAttrSelector, GetItemSelector, GetSelector, IdentitySelector, KeysSelector, LiteralSelector, ValuesSelector

public abstract class Selector extends Expression
An Expression that returns references to Items when it is evaluated. Because most application-level Items are Records, a way to only extract certain parts of Records is often required. Technically, this can be accomplished without Selectors to some extent because the Record class implements java.util.List<Item> and (implicitly) java.util.Map<Value,Value>; however, Selectors additionally expose functional patterns that enhance composability, providing a foundation on top of which expression languages can be built.