You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2015/02/09 16:19:01 UTC
svn commit: r1658434 - in /sling/trunk/contrib/extensions/sling-query: ./
src/main/java/org/apache/sling/query/
src/main/java/org/apache/sling/query/api/
src/main/java/org/apache/sling/query/api/function/
src/main/java/org/apache/sling/query/api/intern...
Author: tomekr
Date: Mon Feb 9 15:19:00 2015
New Revision: 1658434
URL: http://svn.apache.org/r1658434
Log:
SLING-4370 Properly version packages exported by Sling Query
Added:
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Function.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/IteratorUtils.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/LazyList.java
Removed:
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/IteratorUtils.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/LazyList.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Function.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/function/
Modified:
sling/trunk/contrib/extensions/sling-query/pom.xml
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/TreeProvider.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IdentityFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/LastIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SliceIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SuppIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/TestUtils.java
sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/ReverseTest.java
sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/SuppTest.java
Modified: sling/trunk/contrib/extensions/sling-query/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/pom.xml?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/pom.xml (original)
+++ sling/trunk/contrib/extensions/sling-query/pom.xml Mon Feb 9 15:19:00 2015
@@ -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>
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java Mon Feb 9 15:19:00 2015
@@ -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.O
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<?, ?>>();
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java Mon Feb 9 15:19:00 2015
@@ -28,11 +28,14 @@ import org.apache.sling.query.api.Search
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) {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java Mon Feb 9 15:19:00 2015
@@ -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.
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java Mon Feb 9 15:19:00 2015
@@ -19,6 +19,9 @@
package org.apache.sling.query.api;
+import aQute.bnd.annotation.ProviderType;
+
+@ProviderType
public enum SearchStrategy {
BFS, DFS, QUERY;
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/TreeProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/TreeProvider.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/TreeProvider.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/TreeProvider.java Mon Feb 9 15:19:00 2015
@@ -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);
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,25 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.api.internal;
+
+import java.util.Iterator;
+
+public interface ElementToIteratorFunction<T> extends Function<T, Iterator<T>> {
+}
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Function.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Function.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Function.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Function.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,41 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.api.internal;
+
+import aQute.bnd.annotation.ConsumerType;
+
+/**
+ * Function can transform one value into another.
+ *
+ * @author Tomasz RÄkawek
+ *
+ * @param <F> Input type
+ * @param <T> Output type
+ */
+@ConsumerType
+public interface Function<F, T> {
+ /**
+ * Take input F and transform it into output T.
+ *
+ * @param input Input value
+ * @return Output value
+ */
+ T apply(F input);
+}
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,25 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.api.internal;
+
+import java.util.Iterator;
+
+public interface IteratorToIteratorFunction<T> extends Function<Iterator<Option<T>>, Iterator<Option<T>>> {
+}
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,82 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.api.internal;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+
+public class Option<T> {
+ private final T element;
+
+ private final int argumentId;
+
+ private Option(T element, int argumentId) {
+ this.element = element;
+ this.argumentId = argumentId;
+ }
+
+ public static <T> Option<T> of(T element, int argumentId) {
+ return new Option<T>(element, argumentId);
+ }
+
+ public static <T> Option<T> empty(int argumentId) {
+ return new Option<T>(null, argumentId);
+ }
+
+ public int getArgumentId() {
+ return argumentId;
+ }
+
+ public T getElement() {
+ return element;
+ }
+
+ public boolean isEmpty() {
+ return element == null;
+ }
+
+ public String toString() {
+ if (isEmpty()) {
+ return "Option[-]";
+ } else {
+ return String.format("Option[%s]", element.toString());
+ }
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (obj == this) {
+ return true;
+ }
+ if (obj.getClass() != getClass()) {
+ return false;
+ }
+ Option<?> rhs = (Option<?>) obj;
+ return new EqualsBuilder().append(element, rhs.element).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(element).toHashCode();
+ }
+}
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,24 @@
+/*
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@Version("3.0.0")
+package org.apache.sling.query.api;
+
+import aQute.bnd.annotation.Version;
+
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ChildrenFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ChildrenFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ChildrenFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IdentityFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IdentityFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IdentityFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IdentityFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SiblingsFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SiblingsFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SiblingsFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/AlternativeIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ArgumentResettingIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/EmptyElementFilter.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ExpandingIterator.java Mon Feb 9 15:19:00 2015
@@ -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.
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/LastIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/LastIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/LastIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/LastIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionDecoratingIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/OptionStrippingIterator.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ReverseIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SliceIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SliceIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SliceIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SliceIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SuppIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SuppIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SuppIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SuppIterator.java Mon Feb 9 15:19:00 2015
@@ -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
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java Mon Feb 9 15:19:00 2015
@@ -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>> {
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,24 @@
+/*
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@Version("3.0.0")
+package org.apache.sling.query;
+
+import aQute.bnd.annotation.Version;
+
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java Mon Feb 9 15:19:00 2015
@@ -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> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java Mon Feb 9 15:19:00 2015
@@ -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.p
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> {
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/IteratorUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/IteratorUtils.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/IteratorUtils.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/IteratorUtils.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,43 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.util;
+
+import java.util.Arrays;
+import java.util.Iterator;
+
+public final class IteratorUtils {
+
+ private IteratorUtils() {
+ }
+
+ public static <T> Iterator<T> arrayIterator(T... elements) {
+ return Arrays.asList(elements).iterator();
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Iterator<T> singleElementIterator(T element) {
+ return Arrays.asList(element).iterator();
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Iterator<T> emptyIterator() {
+ return Arrays.<T> asList().iterator();
+ }
+}
Added: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/LazyList.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/LazyList.java?rev=1658434&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/LazyList.java (added)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/util/LazyList.java Mon Feb 9 15:19:00 2015
@@ -0,0 +1,278 @@
+/*-
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sling.query.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.NoSuchElementException;
+
+public class LazyList<E> implements List<E> {
+
+ private final class LazyListIterator implements ListIterator<E> {
+ private int index = 0;
+
+ private LazyListIterator() {
+ this.index = 0;
+ }
+
+ private LazyListIterator(int index) {
+ this.index = index;
+ }
+
+ @Override
+ public boolean hasNext() {
+ fillToSize(index + 1);
+ return arrayList.size() > index;
+ }
+
+ @Override
+ public E next() {
+ if (!hasNext()) {
+ throw new NoSuchElementException();
+ }
+ return arrayList.get(index++);
+ }
+
+ @Override
+ public boolean hasPrevious() {
+ return index > 0;
+ }
+
+ @Override
+ public E previous() {
+ if (!hasPrevious()) {
+ throw new NoSuchElementException();
+ }
+ fillToSize(index);
+ return arrayList.get(--index);
+ }
+
+ @Override
+ public int nextIndex() {
+ return index;
+ }
+
+ @Override
+ public int previousIndex() {
+ return index - 1;
+ }
+
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void set(E e) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void add(E e) {
+ throw new UnsupportedOperationException();
+ }
+ }
+
+ private final List<E> arrayList;
+
+ private final Iterator<E> iterator;
+
+ public LazyList(Iterator<E> iterator) {
+ this.arrayList = new ArrayList<E>();
+ this.iterator = iterator;
+ }
+
+ private void fillAll() {
+ while (fillNext() != -1)
+ ;
+ }
+
+ private void fillToSize(int size) {
+ for (int s = arrayList.size(); s < size; s++) {
+ if (fillNext() == -1) {
+ break;
+ }
+ }
+ }
+
+ private int fillNext() {
+ if (iterator.hasNext()) {
+ E element = iterator.next();
+ arrayList.add(element);
+ return arrayList.size() - 1;
+ }
+ return -1;
+ }
+
+ @Override
+ public int size() {
+ fillAll();
+ return arrayList.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return arrayList.isEmpty() && !iterator.hasNext();
+ }
+
+ @Override
+ public boolean contains(Object o) {
+ return indexOf(o) != -1;
+ }
+
+ @Override
+ public Iterator<E> iterator() {
+ return new LazyListIterator();
+ }
+
+ @Override
+ public Object[] toArray() {
+ fillAll();
+ return arrayList.toArray();
+ }
+
+ @Override
+ public <T> T[] toArray(T[] a) {
+ fillAll();
+ return arrayList.toArray(a);
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> c) {
+ for (Object o : c) {
+ if (!contains(o)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public E get(int index) {
+ fillToSize(index + 1);
+ return arrayList.get(index);
+ }
+
+ @Override
+ public int indexOf(Object o) {
+ int index = arrayList.indexOf(o);
+ if (index > -1) {
+ return index;
+ }
+ int addedIndex;
+ while ((addedIndex = fillNext()) != -1) {
+ E element = arrayList.get(addedIndex);
+ if (element == null && o == null) {
+ return addedIndex;
+ } else if (element != null && element.equals(o)) {
+ return addedIndex;
+ }
+ }
+ return -1;
+ }
+
+ @Override
+ public int lastIndexOf(Object o) {
+ fillAll();
+ return arrayList.lastIndexOf(o);
+ }
+
+ @Override
+ public ListIterator<E> listIterator() {
+ return new LazyListIterator();
+ }
+
+ @Override
+ public ListIterator<E> listIterator(int index) {
+ return new LazyListIterator(index);
+ }
+
+ @Override
+ public List<E> subList(int fromIndex, int toIndex) {
+ fillToSize(toIndex);
+ return arrayList.subList(fromIndex, toIndex);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ fillAll();
+ return arrayList.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ fillAll();
+ return arrayList.hashCode();
+ }
+
+ @Override
+ public boolean add(E e) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean remove(Object o) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends E> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean addAll(int index, Collection<? extends E> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> c) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void clear() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public E set(int index, E element) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void add(int index, E element) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public E remove(int index) {
+ throw new UnsupportedOperationException();
+ }
+
+}
Modified: sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/TestUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/TestUtils.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/TestUtils.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/TestUtils.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/ReverseTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/ReverseTest.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/ReverseTest.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/ReverseTest.java Mon Feb 9 15:19:00 2015
@@ -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;
Modified: sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/SuppTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/SuppTest.java?rev=1658434&r1=1658433&r2=1658434&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/SuppTest.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/iterator/SuppTest.java Mon Feb 9 15:19:00 2015
@@ -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;