# Hierarchy For All Packages

Package Hierarchies:

- org.apache.sling.query,
- org.apache.sling.query.api,
- org.apache.sling.query.impl.function,
- org.apache.sling.query.impl.iterator,
- org.apache.sling.query.impl.iterator.tree,
- org.apache.sling.query.impl.predicate,
- org.apache.sling.query.impl.resource,
- org.apache.sling.query.impl.resource.jcr,
- org.apache.sling.query.impl.resource.jcr.query,
- org.apache.sling.query.impl.selector,
- org.apache.sling.query.impl.selector.parser,
- org.apache.sling.query.impl.util

## Class Hierarchy

- java.lang.Object
  - org.apache.sling.query.impl.iterator.AbstractIterator<T> (implements java.util.Iterator<E>)
    - org.apache.sling.query.impl.iterator.AlternativeIterator<T>
    - org.apache.sling.query.impl.iterator.tree.BfsTreeIterator<T>
    - org.apache.sling.query.impl.iterator.DescendantsIterator<T>
    - org.apache.sling.query.impl.iterator.tree.DfsTreeIterator<T>
    - org.apache.sling.query.impl.iterator.EmptyElementFilter<T>
    - org.apache.sling.query.impl.iterator.ExpandingIterator<T>
    - org.apache.sling.query.impl.iterator.FilteringIterator<T>
    - org.apache.sling.query.impl.resource.jcr.JcrQueryIterator
    - org.apache.sling.query.impl.iterator.LastIterator<T>
    - org.apache.sling.query.impl.iterator.MergingIterator<T>
    - org.apache.sling.query.impl.iterator.ParentsIterator<T>
    - org.apache.sling.query.impl.iterator.ReverseIterator<T>
    - org.apache.sling.query.impl.iterator.SiblingsIterator<T>
    - org.apache.sling.query.impl.iterator.SliceIterator<T>
    - org.apache.sling.query.impl.iterator.SuppIterator<T>
    - org.apache.sling.query.impl.iterator.UniqueIterator<T>
    - org.apache.sling.query.impl.iterator.WarningIterator<T>
  - org.apache.sling.query.AbstractQuery<T,​Q> (implements java.lang.Iterable<T>)
    - org.apache.sling.query.SlingQuery
  - org.apache.sling.query.impl.iterator.AdaptToIterator<F,​T> (implements java.util.Iterator<E>)
  - org.apache.sling.query.impl.function.AddFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.iterator.ArgumentResettingIterator<T> (implements java.util.Iterator<E>)
  - org.apache.sling.query.impl.resource.jcr.query.Atomic (implements org.apache.sling.query.impl.resource.jcr.query.Term)
  - org.apache.sling.query.impl.selector.parser.Attribute
  - org.apache.sling.query.impl.function.ChildrenFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.ClosestFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.CompositeFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.DescendantFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.EvenFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.FilterFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.FindFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.resource.jcr.query.Formula (implements org.apache.sling.query.impl.resource.jcr.query.Term)
  - org.apache.sling.query.impl.function.HasFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.IdentityFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.predicate.IterableContainsPredicate<T> (implements java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.function.IteratorToIteratorFunctionWrapper<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.util.IteratorUtils
  - org.apache.sling.query.impl.resource.jcr.query.JcrQueryBuilder
  - org.apache.sling.query.impl.function.LastFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.util.LazyList<E> (implements java.util.List<E>)
  - org.apache.sling.query.impl.selector.parser.Modifier
  - org.apache.sling.query.impl.function.NextFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.NotFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.iterator.OptionDecoratingIterator<T> (implements java.util.Iterator<E>)
  - org.apache.sling.query.impl.iterator.OptionStrippingIterator<T> (implements java.util.Iterator<E>)
  - org.apache.sling.query.impl.function.ParentFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.predicate.ParentPredicate<T> (implements java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.function.ParentsFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.selector.parser.ParserContext
  - org.apache.sling.query.impl.function.PrevFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.predicate.RejectingPredicate<T> (implements java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.resource.ResourcePredicate (implements java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.resource.ResourcePropertyPredicate (implements java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.resource.ResourceTreeProvider (implements org.apache.sling.query.api.internal.TreeProvider<T>)
  - org.apache.sling.query.impl.selector.parser.Selector
  - org.apache.sling.query.impl.selector.SelectorFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>, java.util.function.Predicate<T>)
  - org.apache.sling.query.impl.selector.parser.SelectorParser
  - org.apache.sling.query.impl.selector.parser.SelectorSegment
  - org.apache.sling.query.impl.resource.jcr.SessionJcrTypeResolver (implements org.apache.sling.query.impl.resource.jcr.JcrTypeResolver)
  - org.apache.sling.query.impl.function.SiblingsFunction<T> (implements org.apache.sling.query.api.internal.ElementToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.SliceFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)
  - org.apache.sling.query.impl.function.UniqueFunction<T> (implements org.apache.sling.query.api.internal.IteratorToIteratorFunction<T>)

## Interface Hierarchy

- org.apache.sling.query.impl.resource.jcr.JcrTypeResolver
- org.apache.sling.query.impl.resource.jcr.query.Term

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.apache.sling.query.impl.resource.jcr.query.Formula.Operator
    - org.apache.sling.query.impl.selector.FunctionType
    - org.apache.sling.query.impl.selector.HierarchyOperator
    - org.apache.sling.query.impl.resource.jcr.JcrOperator
    - org.apache.sling.query.api.SearchStrategy
    - org.apache.sling.query.impl.predicate.SelectorOperator
    - org.apache.sling.query.impl.iterator.SiblingsIterator.Type
    - org.apache.sling.query.impl.selector.parser.State