You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:57:55 UTC

[sling-org-apache-sling-query] 07/12: SLING-4370 Properly version packages exported by Sling Query

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.query-3.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-query.git

commit 1d554c8121fd73db401f038af48fe323466d8ed5
Author: tomekr <to...@unknown>
AuthorDate: Mon Feb 9 15:19:00 2015 +0000

    SLING-4370 Properly version packages exported by Sling Query
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/sling-query@1658434 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                        |  2 +-
 src/main/java/org/apache/sling/query/AbstractQuery.java        | 10 +++++++---
 src/main/java/org/apache/sling/query/SlingQuery.java           |  3 +++
 src/main/java/org/apache/sling/query/api/Predicate.java        |  3 +++
 src/main/java/org/apache/sling/query/api/SearchStrategy.java   |  3 +++
 src/main/java/org/apache/sling/query/api/TreeProvider.java     |  3 +++
 .../api/{function => internal}/ElementToIteratorFunction.java  |  4 +---
 .../org/apache/sling/query/api/{ => internal}/Function.java    |  5 ++++-
 .../api/{function => internal}/IteratorToIteratorFunction.java |  4 +---
 .../apache/sling/query/api/{function => internal}/Option.java  |  2 +-
 .../sling/query/api/{SearchStrategy.java => package-info.java} |  8 ++++----
 src/main/java/org/apache/sling/query/function/AddFunction.java |  4 ++--
 .../java/org/apache/sling/query/function/ChildrenFunction.java |  2 +-
 .../java/org/apache/sling/query/function/ClosestFunction.java  |  4 ++--
 .../org/apache/sling/query/function/CompositeFunction.java     |  6 +++---
 .../org/apache/sling/query/function/DescendantFunction.java    |  4 ++--
 .../java/org/apache/sling/query/function/EvenFunction.java     |  4 ++--
 .../java/org/apache/sling/query/function/FilterFunction.java   |  4 ++--
 .../java/org/apache/sling/query/function/FindFunction.java     |  2 +-
 src/main/java/org/apache/sling/query/function/HasFunction.java |  8 ++++----
 .../java/org/apache/sling/query/function/IdentityFunction.java |  4 ++--
 .../query/function/IteratorToIteratorFunctionWrapper.java      |  8 ++++----
 .../java/org/apache/sling/query/function/LastFunction.java     |  4 ++--
 .../java/org/apache/sling/query/function/NextFunction.java     |  2 +-
 src/main/java/org/apache/sling/query/function/NotFunction.java |  4 ++--
 .../java/org/apache/sling/query/function/ParentFunction.java   |  4 ++--
 .../java/org/apache/sling/query/function/ParentsFunction.java  |  2 +-
 .../java/org/apache/sling/query/function/PrevFunction.java     |  2 +-
 .../java/org/apache/sling/query/function/SiblingsFunction.java |  4 ++--
 .../java/org/apache/sling/query/function/SliceFunction.java    |  4 ++--
 .../java/org/apache/sling/query/function/UniqueFunction.java   |  4 ++--
 .../org/apache/sling/query/iterator/AlternativeIterator.java   |  2 +-
 .../apache/sling/query/iterator/ArgumentResettingIterator.java |  2 +-
 .../org/apache/sling/query/iterator/DescendantsIterator.java   |  4 ++--
 .../org/apache/sling/query/iterator/EmptyElementFilter.java    |  2 +-
 .../org/apache/sling/query/iterator/ExpandingIterator.java     |  4 ++--
 .../org/apache/sling/query/iterator/FilteringIterator.java     |  2 +-
 .../java/org/apache/sling/query/iterator/LastIterator.java     |  4 ++--
 .../apache/sling/query/iterator/OptionDecoratingIterator.java  |  2 +-
 .../apache/sling/query/iterator/OptionStrippingIterator.java   |  2 +-
 .../java/org/apache/sling/query/iterator/ReverseIterator.java  |  6 +++---
 .../java/org/apache/sling/query/iterator/SiblingsIterator.java |  4 ++--
 .../java/org/apache/sling/query/iterator/SliceIterator.java    |  2 +-
 .../java/org/apache/sling/query/iterator/SuppIterator.java     |  4 ++--
 .../java/org/apache/sling/query/iterator/UniqueIterator.java   |  2 +-
 .../sling/query/{api/SearchStrategy.java => package-info.java} | 10 +++++-----
 .../sling/query/predicate/IterableContainsPredicate.java       |  2 +-
 .../java/org/apache/sling/query/selector/FunctionType.java     |  2 +-
 .../org/apache/sling/query/selector/HierarchyOperator.java     |  2 +-
 .../java/org/apache/sling/query/selector/SelectorFunction.java | 10 +++++-----
 .../java/org/apache/sling/query/{ => util}/IteratorUtils.java  |  2 +-
 src/main/java/org/apache/sling/query/{ => util}/LazyList.java  |  2 +-
 src/test/java/org/apache/sling/query/TestUtils.java            |  2 +-
 src/test/java/org/apache/sling/query/iterator/ReverseTest.java |  4 ++--
 src/test/java/org/apache/sling/query/iterator/SuppTest.java    |  6 +++---
 55 files changed, 113 insertions(+), 98 deletions(-)

diff --git a/pom.xml b/pom.xml
index 99bb757..f57ab27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>org.apache.sling.query</artifactId>
-    <version>2.0.1-SNAPSHOT</version>
+    <version>3.0.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <name>Apache Sling Query</name>
diff --git a/src/main/java/org/apache/sling/query/AbstractQuery.java b/src/main/java/org/apache/sling/query/AbstractQuery.java
index 3145668..20bb788 100644
--- a/src/main/java/org/apache/sling/query/AbstractQuery.java
+++ b/src/main/java/org/apache/sling/query/AbstractQuery.java
@@ -24,12 +24,12 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.function.AddFunction;
 import org.apache.sling.query.function.ChildrenFunction;
 import org.apache.sling.query.function.ClosestFunction;
@@ -54,7 +54,11 @@ import org.apache.sling.query.iterator.OptionStrippingIterator;
 import org.apache.sling.query.predicate.IterableContainsPredicate;
 import org.apache.sling.query.predicate.RejectingPredicate;
 import org.apache.sling.query.selector.SelectorFunction;
+import org.apache.sling.query.util.LazyList;
 
+import aQute.bnd.annotation.ProviderType;
+
+@ProviderType
 public abstract class AbstractQuery<T, Q extends AbstractQuery<T, Q>> implements Iterable<T> {
 
 	protected final List<Function<?, ?>> functions = new ArrayList<Function<?, ?>>();
diff --git a/src/main/java/org/apache/sling/query/SlingQuery.java b/src/main/java/org/apache/sling/query/SlingQuery.java
index a28cdfa..7d39472 100644
--- a/src/main/java/org/apache/sling/query/SlingQuery.java
+++ b/src/main/java/org/apache/sling/query/SlingQuery.java
@@ -28,11 +28,14 @@ import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.iterator.AdaptToIterator;
 import org.apache.sling.query.resource.ResourceTreeProvider;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * SlingQuery is a Sling resource tree traversal tool inspired by the jQuery.
  * 
  * @author Tomasz Rękawek
  */
+@ProviderType
 public class SlingQuery extends AbstractQuery<Resource, SlingQuery> {
 
 	private SlingQuery(AbstractQuery<Resource, SlingQuery> original, SearchStrategy strategy) {
diff --git a/src/main/java/org/apache/sling/query/api/Predicate.java b/src/main/java/org/apache/sling/query/api/Predicate.java
index 0354a51..97c710f 100644
--- a/src/main/java/org/apache/sling/query/api/Predicate.java
+++ b/src/main/java/org/apache/sling/query/api/Predicate.java
@@ -19,12 +19,15 @@
 
 package org.apache.sling.query.api;
 
+import aQute.bnd.annotation.ConsumerType;
+
 /**
  * ResourcePredicate determine true or false value for a given T.
  * 
  * @author Tomasz Rękawek
  * 
  */
+@ConsumerType
 public interface Predicate<T> {
 	/**
 	 * Accept or reject given resource.
diff --git a/src/main/java/org/apache/sling/query/api/SearchStrategy.java b/src/main/java/org/apache/sling/query/api/SearchStrategy.java
index 781dd0d..9b476cc 100644
--- a/src/main/java/org/apache/sling/query/api/SearchStrategy.java
+++ b/src/main/java/org/apache/sling/query/api/SearchStrategy.java
@@ -19,6 +19,9 @@
 
 package org.apache.sling.query.api;
 
+import aQute.bnd.annotation.ProviderType;
+
+@ProviderType
 public enum SearchStrategy {
 	BFS, DFS, QUERY;
 }
diff --git a/src/main/java/org/apache/sling/query/api/TreeProvider.java b/src/main/java/org/apache/sling/query/api/TreeProvider.java
index 959b2ea..4278f06 100644
--- a/src/main/java/org/apache/sling/query/api/TreeProvider.java
+++ b/src/main/java/org/apache/sling/query/api/TreeProvider.java
@@ -25,6 +25,9 @@ import java.util.List;
 import org.apache.sling.query.selector.parser.Attribute;
 import org.apache.sling.query.selector.parser.SelectorSegment;
 
+import aQute.bnd.annotation.ConsumerType;
+
+@ConsumerType
 public interface TreeProvider<T> {
 	Iterator<T> listChildren(T parent);
 
diff --git a/src/main/java/org/apache/sling/query/api/function/ElementToIteratorFunction.java b/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
similarity index 91%
rename from src/main/java/org/apache/sling/query/api/function/ElementToIteratorFunction.java
rename to src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
index 4c98a58..dd96153 100644
--- a/src/main/java/org/apache/sling/query/api/function/ElementToIteratorFunction.java
+++ b/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
@@ -17,11 +17,9 @@
  * under the License.
  */
 
-package org.apache.sling.query.api.function;
+package org.apache.sling.query.api.internal;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.Function;
-
 public interface ElementToIteratorFunction<T> extends Function<T, Iterator<T>> {
 }
diff --git a/src/main/java/org/apache/sling/query/api/Function.java b/src/main/java/org/apache/sling/query/api/internal/Function.java
similarity index 91%
rename from src/main/java/org/apache/sling/query/api/Function.java
rename to src/main/java/org/apache/sling/query/api/internal/Function.java
index 627875c..bdb82e1 100644
--- a/src/main/java/org/apache/sling/query/api/Function.java
+++ b/src/main/java/org/apache/sling/query/api/internal/Function.java
@@ -17,7 +17,9 @@
  * under the License.
  */
 
-package org.apache.sling.query.api;
+package org.apache.sling.query.api.internal;
+
+import aQute.bnd.annotation.ConsumerType;
 
 /**
  * Function can transform one value into another.
@@ -27,6 +29,7 @@ package org.apache.sling.query.api;
  * @param <F> Input type
  * @param <T> Output type
  */
+@ConsumerType
 public interface Function<F, T> {
 	/**
 	 * Take input F and transform it into output T.
diff --git a/src/main/java/org/apache/sling/query/api/function/IteratorToIteratorFunction.java b/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
similarity index 91%
rename from src/main/java/org/apache/sling/query/api/function/IteratorToIteratorFunction.java
rename to src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
index cb14cd2..6fb9e4c 100644
--- a/src/main/java/org/apache/sling/query/api/function/IteratorToIteratorFunction.java
+++ b/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
@@ -17,11 +17,9 @@
  * under the License.
  */
 
-package org.apache.sling.query.api.function;
+package org.apache.sling.query.api.internal;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.Function;
-
 public interface IteratorToIteratorFunction<T> extends Function<Iterator<Option<T>>, Iterator<Option<T>>> {
 }
diff --git a/src/main/java/org/apache/sling/query/api/function/Option.java b/src/main/java/org/apache/sling/query/api/internal/Option.java
similarity index 97%
rename from src/main/java/org/apache/sling/query/api/function/Option.java
rename to src/main/java/org/apache/sling/query/api/internal/Option.java
index dbc0249..f737971 100644
--- a/src/main/java/org/apache/sling/query/api/function/Option.java
+++ b/src/main/java/org/apache/sling/query/api/internal/Option.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sling.query.api.function;
+package org.apache.sling.query.api.internal;
 
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
diff --git a/src/main/java/org/apache/sling/query/api/SearchStrategy.java b/src/main/java/org/apache/sling/query/api/package-info.java
similarity index 93%
copy from src/main/java/org/apache/sling/query/api/SearchStrategy.java
copy to src/main/java/org/apache/sling/query/api/package-info.java
index 781dd0d..aca85ff 100644
--- a/src/main/java/org/apache/sling/query/api/SearchStrategy.java
+++ b/src/main/java/org/apache/sling/query/api/package-info.java
@@ -1,4 +1,4 @@
-/*-
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -17,8 +17,8 @@
  * under the License.
  */
 
+@Version("3.0.0")
 package org.apache.sling.query.api;
 
-public enum SearchStrategy {
-	BFS, DFS, QUERY;
-}
+import aQute.bnd.annotation.Version;
+
diff --git a/src/main/java/org/apache/sling/query/function/AddFunction.java b/src/main/java/org/apache/sling/query/function/AddFunction.java
index 4d4f364..32a4cae 100644
--- a/src/main/java/org/apache/sling/query/function/AddFunction.java
+++ b/src/main/java/org/apache/sling/query/function/AddFunction.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.MergingIterator;
 import org.apache.sling.query.iterator.OptionDecoratingIterator;
 
diff --git a/src/main/java/org/apache/sling/query/function/ChildrenFunction.java b/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
index 17fce29..d335793 100644
--- a/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
@@ -22,7 +22,7 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 
 public class ChildrenFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/ClosestFunction.java b/src/main/java/org/apache/sling/query/function/ClosestFunction.java
index 92eb1a8..08c1937 100644
--- a/src/main/java/org/apache/sling/query/function/ClosestFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ClosestFunction.java
@@ -21,10 +21,10 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.IteratorUtils;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.util.IteratorUtils;
 
 public class ClosestFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/CompositeFunction.java b/src/main/java/org/apache/sling/query/function/CompositeFunction.java
index 0041600..538b9cd 100644
--- a/src/main/java/org/apache/sling/query/function/CompositeFunction.java
+++ b/src/main/java/org/apache/sling/query/function/CompositeFunction.java
@@ -22,9 +22,9 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.api.Function;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 
 public class CompositeFunction<T> implements IteratorToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/DescendantFunction.java b/src/main/java/org/apache/sling/query/function/DescendantFunction.java
index 3510f40..657c8ba 100644
--- a/src/main/java/org/apache/sling/query/function/DescendantFunction.java
+++ b/src/main/java/org/apache/sling/query/function/DescendantFunction.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.DescendantsIterator;
 
 public class DescendantFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/EvenFunction.java b/src/main/java/org/apache/sling/query/function/EvenFunction.java
index a127b74..4a552bb 100644
--- a/src/main/java/org/apache/sling/query/function/EvenFunction.java
+++ b/src/main/java/org/apache/sling/query/function/EvenFunction.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.FilteringIterator;
 
 public class EvenFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/FilterFunction.java b/src/main/java/org/apache/sling/query/function/FilterFunction.java
index d45c49f..edd6b22 100644
--- a/src/main/java/org/apache/sling/query/function/FilterFunction.java
+++ b/src/main/java/org/apache/sling/query/function/FilterFunction.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.FilteringIterator;
 
 public class FilterFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/FindFunction.java b/src/main/java/org/apache/sling/query/function/FindFunction.java
index e38205c..7580cad 100644
--- a/src/main/java/org/apache/sling/query/function/FindFunction.java
+++ b/src/main/java/org/apache/sling/query/function/FindFunction.java
@@ -25,7 +25,7 @@ import java.util.List;
 
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 import org.apache.sling.query.iterator.WarningIterator;
 import org.apache.sling.query.iterator.tree.BfsTreeIterator;
 import org.apache.sling.query.iterator.tree.DfsTreeIterator;
diff --git a/src/main/java/org/apache/sling/query/function/HasFunction.java b/src/main/java/org/apache/sling/query/function/HasFunction.java
index 7222e5d..4407d0d 100644
--- a/src/main/java/org/apache/sling/query/function/HasFunction.java
+++ b/src/main/java/org/apache/sling/query/function/HasFunction.java
@@ -21,15 +21,15 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.IteratorUtils;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.EmptyElementFilter;
 import org.apache.sling.query.selector.SelectorFunction;
+import org.apache.sling.query.util.IteratorUtils;
 
 public class HasFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/IdentityFunction.java b/src/main/java/org/apache/sling/query/function/IdentityFunction.java
index 71b3d4f..7e73d51 100644
--- a/src/main/java/org/apache/sling/query/function/IdentityFunction.java
+++ b/src/main/java/org/apache/sling/query/function/IdentityFunction.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 
 public class IdentityFunction<T> implements IteratorToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java b/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
index ec207cb..7693904 100644
--- a/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
+++ b/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
@@ -21,10 +21,10 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.Function;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.ExpandingIterator;
 
 public class IteratorToIteratorFunctionWrapper<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/LastFunction.java b/src/main/java/org/apache/sling/query/function/LastFunction.java
index e808eaa..83c0b08 100644
--- a/src/main/java/org/apache/sling/query/function/LastFunction.java
+++ b/src/main/java/org/apache/sling/query/function/LastFunction.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.LastIterator;
 
 public class LastFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/NextFunction.java b/src/main/java/org/apache/sling/query/function/NextFunction.java
index b27bc2e..da85fb9 100644
--- a/src/main/java/org/apache/sling/query/function/NextFunction.java
+++ b/src/main/java/org/apache/sling/query/function/NextFunction.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 import org.apache.sling.query.iterator.SiblingsIterator;
 import org.apache.sling.query.iterator.SiblingsIterator.Type;
 
diff --git a/src/main/java/org/apache/sling/query/function/NotFunction.java b/src/main/java/org/apache/sling/query/function/NotFunction.java
index b244a2b..0447592 100644
--- a/src/main/java/org/apache/sling/query/function/NotFunction.java
+++ b/src/main/java/org/apache/sling/query/function/NotFunction.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.ReverseIterator;
 
 public class NotFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/ParentFunction.java b/src/main/java/org/apache/sling/query/function/ParentFunction.java
index 6f0c19e..a5885b9 100644
--- a/src/main/java/org/apache/sling/query/function/ParentFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ParentFunction.java
@@ -21,9 +21,9 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.IteratorUtils;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.util.IteratorUtils;
 
 public class ParentFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/ParentsFunction.java b/src/main/java/org/apache/sling/query/function/ParentsFunction.java
index 4b8a7ce..0df4679 100644
--- a/src/main/java/org/apache/sling/query/function/ParentsFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ParentsFunction.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 import org.apache.sling.query.iterator.ParentsIterator;
 
 public class ParentsFunction<T> implements ElementToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/PrevFunction.java b/src/main/java/org/apache/sling/query/function/PrevFunction.java
index 1354295..e1b5da3 100644
--- a/src/main/java/org/apache/sling/query/function/PrevFunction.java
+++ b/src/main/java/org/apache/sling/query/function/PrevFunction.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 import org.apache.sling.query.iterator.SiblingsIterator;
 import org.apache.sling.query.iterator.SiblingsIterator.Type;
 
diff --git a/src/main/java/org/apache/sling/query/function/SiblingsFunction.java b/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
index 94bf6f0..a4ddca5 100644
--- a/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
+++ b/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
@@ -21,9 +21,9 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.IteratorUtils;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.util.IteratorUtils;
 
 public class SiblingsFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/SliceFunction.java b/src/main/java/org/apache/sling/query/function/SliceFunction.java
index 2e58e0e..e28ef82 100644
--- a/src/main/java/org/apache/sling/query/function/SliceFunction.java
+++ b/src/main/java/org/apache/sling/query/function/SliceFunction.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.SliceIterator;
 
 public class SliceFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/UniqueFunction.java b/src/main/java/org/apache/sling/query/function/UniqueFunction.java
index c18880c..fdfd20b 100644
--- a/src/main/java/org/apache/sling/query/function/UniqueFunction.java
+++ b/src/main/java/org/apache/sling/query/function/UniqueFunction.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.function;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.UniqueIterator;
 
 public class UniqueFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java b/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java
index d9badcf..9b0a5bb 100644
--- a/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java
@@ -22,7 +22,7 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class AlternativeIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java b/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java
index 14a9778..ef6b818 100644
--- a/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java
@@ -21,7 +21,7 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class ArgumentResettingIterator<T> implements Iterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java b/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
index e40fa60..d4469f7 100644
--- a/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
@@ -22,9 +22,9 @@ package org.apache.sling.query.iterator;
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import org.apache.sling.query.LazyList;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.util.LazyList;
 
 public class DescendantsIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java b/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java
index 3f292f5..f12300f 100644
--- a/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java
+++ b/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java
@@ -21,7 +21,7 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class EmptyElementFilter<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java b/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java
index 96d4be7..c302892 100644
--- a/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java
@@ -21,8 +21,8 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 
 /**
  * This iterator evaluates each element from the source iterator, expanding it using given function.
diff --git a/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java b/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
index fea6774..1f77c3d 100644
--- a/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
@@ -22,7 +22,7 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class FilteringIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/LastIterator.java b/src/main/java/org/apache/sling/query/iterator/LastIterator.java
index 10cc676..b02621f 100644
--- a/src/main/java/org/apache/sling/query/iterator/LastIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/LastIterator.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 import java.util.ListIterator;
 
-import org.apache.sling.query.LazyList;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.util.LazyList;
 
 public class LastIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java b/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java
index e88fd60..1b537ef 100644
--- a/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java
@@ -21,7 +21,7 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class OptionDecoratingIterator<T> implements Iterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java b/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java
index 878f728..f6e03a1 100644
--- a/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java
@@ -21,7 +21,7 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class OptionStrippingIterator<T> implements Iterator<T> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java b/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java
index 828abfa..4779678 100644
--- a/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java
@@ -21,9 +21,9 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.LazyList;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.util.LazyList;
 
 public class ReverseIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java b/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
index d2b3a84..663a962 100644
--- a/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
@@ -22,10 +22,10 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 import java.util.ListIterator;
 
-import org.apache.sling.query.IteratorUtils;
-import org.apache.sling.query.LazyList;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.util.IteratorUtils;
+import org.apache.sling.query.util.LazyList;
 
 public class SiblingsIterator<T> extends AbstractIterator<T> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/SliceIterator.java b/src/main/java/org/apache/sling/query/iterator/SliceIterator.java
index b51094c..20493ae 100644
--- a/src/main/java/org/apache/sling/query/iterator/SliceIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/SliceIterator.java
@@ -21,7 +21,7 @@ package org.apache.sling.query.iterator;
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class SliceIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/SuppIterator.java b/src/main/java/org/apache/sling/query/iterator/SuppIterator.java
index 78aca5b..fafd2a2 100644
--- a/src/main/java/org/apache/sling/query/iterator/SuppIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/SuppIterator.java
@@ -22,8 +22,8 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 
 /**
  * This iterator returns all elements of the input list which are mapped to non-empty values by the input
diff --git a/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java b/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
index 2b05c84..17d50b1 100644
--- a/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
@@ -22,7 +22,7 @@ package org.apache.sling.query.iterator;
 import java.util.Iterator;
 
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 
 public class UniqueIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/api/SearchStrategy.java b/src/main/java/org/apache/sling/query/package-info.java
similarity index 89%
copy from src/main/java/org/apache/sling/query/api/SearchStrategy.java
copy to src/main/java/org/apache/sling/query/package-info.java
index 781dd0d..eff0363 100644
--- a/src/main/java/org/apache/sling/query/api/SearchStrategy.java
+++ b/src/main/java/org/apache/sling/query/package-info.java
@@ -1,4 +1,4 @@
-/*-
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -17,8 +17,8 @@
  * under the License.
  */
 
-package org.apache.sling.query.api;
+@Version("3.0.0")
+package org.apache.sling.query;
+
+import aQute.bnd.annotation.Version;
 
-public enum SearchStrategy {
-	BFS, DFS, QUERY;
-}
diff --git a/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java b/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
index 90ca9db..acecc25 100644
--- a/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
+++ b/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
@@ -19,9 +19,9 @@
 
 package org.apache.sling.query.predicate;
 
-import org.apache.sling.query.LazyList;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.util.LazyList;
 
 public class IterableContainsPredicate<T> implements Predicate<T> {
 
diff --git a/src/main/java/org/apache/sling/query/selector/FunctionType.java b/src/main/java/org/apache/sling/query/selector/FunctionType.java
index 806a837..c4b37dd 100644
--- a/src/main/java/org/apache/sling/query/selector/FunctionType.java
+++ b/src/main/java/org/apache/sling/query/selector/FunctionType.java
@@ -19,9 +19,9 @@
 
 package org.apache.sling.query.selector;
 
-import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.Function;
 import org.apache.sling.query.function.EvenFunction;
 import org.apache.sling.query.function.FilterFunction;
 import org.apache.sling.query.function.HasFunction;
diff --git a/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java b/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
index bcb0750..df6edd7 100644
--- a/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
+++ b/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
@@ -19,9 +19,9 @@
 
 package org.apache.sling.query.selector;
 
-import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.Function;
 import org.apache.sling.query.function.ChildrenFunction;
 import org.apache.sling.query.function.FindFunction;
 import org.apache.sling.query.function.IdentityFunction;
diff --git a/src/main/java/org/apache/sling/query/selector/SelectorFunction.java b/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
index e3a2e1f..ecd2ea0 100644
--- a/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
+++ b/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
@@ -23,14 +23,12 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.IteratorUtils;
-import org.apache.sling.query.LazyList;
-import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
 import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.function.CompositeFunction;
 import org.apache.sling.query.function.FilterFunction;
 import org.apache.sling.query.iterator.AlternativeIterator;
@@ -40,6 +38,8 @@ import org.apache.sling.query.selector.parser.Modifier;
 import org.apache.sling.query.selector.parser.Selector;
 import org.apache.sling.query.selector.parser.SelectorParser;
 import org.apache.sling.query.selector.parser.SelectorSegment;
+import org.apache.sling.query.util.IteratorUtils;
+import org.apache.sling.query.util.LazyList;
 
 public class SelectorFunction<T> implements IteratorToIteratorFunction<T>, Predicate<T> {
 
diff --git a/src/main/java/org/apache/sling/query/IteratorUtils.java b/src/main/java/org/apache/sling/query/util/IteratorUtils.java
similarity index 97%
rename from src/main/java/org/apache/sling/query/IteratorUtils.java
rename to src/main/java/org/apache/sling/query/util/IteratorUtils.java
index 4975be6..916f50b 100644
--- a/src/main/java/org/apache/sling/query/IteratorUtils.java
+++ b/src/main/java/org/apache/sling/query/util/IteratorUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sling.query;
+package org.apache.sling.query.util;
 
 import java.util.Arrays;
 import java.util.Iterator;
diff --git a/src/main/java/org/apache/sling/query/LazyList.java b/src/main/java/org/apache/sling/query/util/LazyList.java
similarity index 99%
rename from src/main/java/org/apache/sling/query/LazyList.java
rename to src/main/java/org/apache/sling/query/util/LazyList.java
index ce6a630..f0ec7da 100644
--- a/src/main/java/org/apache/sling/query/LazyList.java
+++ b/src/main/java/org/apache/sling/query/util/LazyList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sling.query;
+package org.apache.sling.query.util;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/src/test/java/org/apache/sling/query/TestUtils.java b/src/test/java/org/apache/sling/query/TestUtils.java
index b2bd9ba..7b68afa 100644
--- a/src/test/java/org/apache/sling/query/TestUtils.java
+++ b/src/test/java/org/apache/sling/query/TestUtils.java
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.mock.json.JsonToResource;
 import org.junit.Assert;
 
diff --git a/src/test/java/org/apache/sling/query/iterator/ReverseTest.java b/src/test/java/org/apache/sling/query/iterator/ReverseTest.java
index 10876dd..e453be4 100644
--- a/src/test/java/org/apache/sling/query/iterator/ReverseTest.java
+++ b/src/test/java/org/apache/sling/query/iterator/ReverseTest.java
@@ -23,8 +23,8 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.sling.query.TestUtils;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.function.IdentityFunction;
 import org.apache.sling.query.function.SliceFunction;
 import org.apache.sling.query.iterator.ReverseIterator;
diff --git a/src/test/java/org/apache/sling/query/iterator/SuppTest.java b/src/test/java/org/apache/sling/query/iterator/SuppTest.java
index de4f326..a29a2bb 100644
--- a/src/test/java/org/apache/sling/query/iterator/SuppTest.java
+++ b/src/test/java/org/apache/sling/query/iterator/SuppTest.java
@@ -24,9 +24,9 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.sling.query.TestUtils;
-import org.apache.sling.query.api.function.ElementToIteratorFunction;
-import org.apache.sling.query.api.function.IteratorToIteratorFunction;
-import org.apache.sling.query.api.function.Option;
+import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
+import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.function.IdentityFunction;
 import org.apache.sling.query.function.IteratorToIteratorFunctionWrapper;
 import org.apache.sling.query.function.SliceFunction;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.