You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/05/09 12:48:41 UTC
[02/21] jena git commit: Using Java 8 types in o.a.j.atlas
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
index ff87bcc..192953f 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
@@ -21,8 +21,6 @@ package org.apache.jena.riot.thrift;
import java.io.ByteArrayInputStream ;
import java.io.ByteArrayOutputStream ;
import java.util.Iterator ;
-
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
@@ -130,7 +128,7 @@ public class TestStreamRDFThrift extends BaseTest {
boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ;
assertTrue(b) ;
// Stronger - same bNode and same as in original data.
- Node obj = Iter.first(dsg1.listGraphNodes(), filterBlankNode) ;
+ Node obj = Iter.first(dsg1.listGraphNodes(), Node::isBlank) ;
termAsObject(dsg1, obj) ;
}
@@ -149,7 +147,7 @@ public class TestStreamRDFThrift extends BaseTest {
boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ;
assertTrue(b) ;
// Stronger - same bNode and same as in original data.
- Node obj = Iter.first(dsg1.listGraphNodes(), filterBlankNode) ;
+ Node obj = Iter.first(dsg1.listGraphNodes(), Node::isBlank) ;
termAsObject(dsg1, obj) ;
}
@@ -174,13 +172,6 @@ public class TestStreamRDFThrift extends BaseTest {
fail("Failed to find "+term) ;
}
- static Filter<Node> filterBlankNode = new Filter<Node>() {
- @Override
- public boolean accept(Node item) {
- return item.isBlank() ;
- }
- } ;
-
// ** Java8
// public static <T> Stream<T> stream(Iterator<? extends T> iterator) {
// int characteristics = Spliterator.ORDERED | Spliterator.IMMUTABLE;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
index de2630e..d9c14ab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
@@ -18,7 +18,12 @@
package org.apache.jena.atlas.iterator;
-public interface Action<T>
+import java.util.function.Consumer;
+
+/**
+ * Prefer {@link Consumer}
+ */
+@Deprecated
+public interface Action<T> extends Consumer<T>
{
- public void apply(T item) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
index 20f837c..1ec0354 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
@@ -18,13 +18,15 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Consumer;
-public class ActionCount<T> implements Action<T>
+
+public class ActionCount<T> implements Consumer<T>
{
private long count = 0 ;
@Override
- public void apply(T item)
+ public void accept(T item)
{ count++ ; }
public long getCount() { return count ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
deleted file mode 100644
index d05b279..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.jena.atlas.iterator;
-
-
-public class ActionNothing<T> implements Action<T>
-{
- @Override
- public void apply(T item) { }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
index 5d427c5..689f5bc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
@@ -18,5 +18,11 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
+/**
+ * Prefer {@link Predicate}.
+ */
@FunctionalInterface
-public interface Filter <T> { boolean accept(T item) ; }
+@Deprecated
+public interface Filter <T> extends Predicate<T>{ }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
index 3beb832..e2bc4b4 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
@@ -18,17 +18,17 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
import org.apache.jena.atlas.lib.Lib ;
-public class FilterDistinctAdjacent<T> implements Filter<T>
+public class FilterDistinctAdjacent<T> implements Predicate<T>
{
private boolean isSet = false ;
private T last = null ;
- public FilterDistinctAdjacent() { }
-
@Override
- public boolean accept(T item)
+ public boolean test(T item)
{
if ( isSet && Lib.equal(last, item) )
return false ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
deleted file mode 100644
index 21cd471..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.jena.atlas.iterator;
-
-
-public class FilterOutNulls<T> implements Filter<T>
-{
- public FilterOutNulls() { }
-
- @Override
- public boolean accept(T item)
- {
- return item != null ;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
index 479d93f..c4d5e86 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
@@ -18,24 +18,26 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
/**
* Add a filter to a chain - the original filter is called after this new sub-filter.
*/
-public abstract class FilterStack<T> implements Filter<T>
+public abstract class FilterStack<T> implements Predicate<T>
{
- private final Filter<T> other ;
+ private final Predicate<T> other ;
private final boolean subFilterLast ;
- public FilterStack(Filter<T> other) { this(other, false) ; }
+ public FilterStack(Predicate<T> other) { this(other, false) ; }
- public FilterStack(Filter<T> other, boolean callOldFilterFirst)
+ public FilterStack(Predicate<T> other, boolean callOldFilterFirst)
{
this.other = other ;
this.subFilterLast = callOldFilterFirst ;
}
@Override
- public final boolean accept(T item)
+ public final boolean test(T item)
{
if ( subFilterLast )
return acceptAdditionaOther(item) ;
@@ -48,7 +50,7 @@ public abstract class FilterStack<T> implements Filter<T>
if ( ! acceptAdditional(item) )
return false ;
- if ( other != null && ! other.accept(item) )
+ if ( other != null && ! other.test(item) )
return false ;
return true ;
@@ -56,7 +58,7 @@ public abstract class FilterStack<T> implements Filter<T>
private boolean acceptOtherAdditional(T item)
{
- if ( other != null && ! other.accept(item) )
+ if ( other != null && ! other.test(item) )
return false ;
return acceptAdditional(item) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
index 2b2a957..4f21072 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
@@ -20,20 +20,16 @@ package org.apache.jena.atlas.iterator;
import java.util.HashSet ;
import java.util.Set ;
+import java.util.function.Predicate;
-public class FilterUnique<T> implements Filter<T>
+public class FilterUnique<T> implements Predicate<T>
{
private Set<T> seen = new HashSet<>() ;
- public FilterUnique() { }
-
@Override
- public boolean accept(T item)
+ public boolean test(T item)
{
- if ( seen.contains(item) )
- return false ;
- seen.add(item) ;
- return true ;
+ return seen.add(item) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
index 8aec2ea..fc0a534 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
@@ -20,10 +20,12 @@ package org.apache.jena.atlas.iterator ;
import java.io.PrintStream ;
import java.util.* ;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
import java.util.stream.Stream ;
import java.util.stream.StreamSupport ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sink ;
@@ -182,27 +184,20 @@ public class Iter<T> implements Iterator<T> {
// apply(stream.iterator(), action) ;
// }
- public static <T> void apply(Iterator<? extends T> stream, Action<T> action) {
+ public static <T> void apply(Iterator<? extends T> stream, Consumer<T> action) {
for (; stream.hasNext();) {
T item = stream.next() ;
- action.apply(item) ;
+ action.accept(item) ;
}
}
- // -- Map specific apply. No results - do immediately.
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action) {
- for (Map.Entry<K, V> entry : map.entrySet())
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-
// ---- Filter
// public static <T> Iterator<T> filter(Iterable<? extends T> stream, Filter<T> filter) {
// return filter(stream.iterator(), filter) ;
// }
- public static <T> Iterator<T> filter(final Iterator<? extends T> stream, final Filter<T> filter) {
+ public static <T> Iterator<T> filter(final Iterator<? extends T> stream, final Predicate<T> filter) {
final Iterator<T> iter = new Iterator<T>() {
boolean finished = false ;
@@ -219,7 +214,7 @@ public class Iter<T> implements Iterator<T> {
break ;
}
T nextItem = stream.next() ;
- if ( filter.accept(nextItem) ) {
+ if ( filter.test(nextItem) ) {
slot = nextItem ;
slotOccupied = true ;
break ;
@@ -246,29 +241,12 @@ public class Iter<T> implements Iterator<T> {
return iter ;
}
- private static class InvertedFilter<T> implements Filter<T> {
- public static <T> Filter<T> invert(Filter<T> filter) {
- return new InvertedFilter<>(filter) ;
- }
- private Filter<T> baseFilter ;
-
- private InvertedFilter(Filter<T> baseFilter) {
- this.baseFilter = baseFilter ;
- }
-
- @Override
- public boolean accept(T item) {
- return !baseFilter.accept(item) ;
- }
- }
-
// public static <T> Iterator<T> notFilter(Iterable<? extends T> stream, Filter<T> filter) {
// return notFilter(stream.iterator(), filter) ;
// }
- public static <T> Iterator<T> notFilter(final Iterator<? extends T> stream, final Filter<T> filter) {
- Filter<T> flippedFilter = InvertedFilter.invert(filter) ;
- return filter(stream, flippedFilter) ;
+ public static <T> Iterator<T> notFilter(final Iterator<? extends T> stream, final Predicate<T> filter) {
+ return filter(stream, filter.negate()) ;
}
// Filter-related
@@ -288,10 +266,10 @@ public class Iter<T> implements Iterator<T> {
* Return true if every element of stream passes the filter (reads the
* stream until the first element not passing the filter)
*/
- public static <T> boolean every(Iterator<? extends T> stream, Filter<T> filter) {
+ public static <T> boolean every(Iterator<? extends T> stream, Predicate<T> filter) {
for (; stream.hasNext();) {
T item = stream.next() ;
- if ( !filter.accept(item) )
+ if ( !filter.test(item) )
return false ;
}
return true ;
@@ -312,10 +290,10 @@ public class Iter<T> implements Iterator<T> {
* Return true if one or more elements of stream passes the filter (reads
* the stream to first element passing the filter)
*/
- public static <T> boolean some(Iterator<? extends T> stream, Filter<T> filter) {
+ public static <T> boolean some(Iterator<? extends T> stream, Predicate<T> filter) {
for (; stream.hasNext();) {
T item = stream.next() ;
- if ( filter.accept(item) )
+ if ( filter.test(item) )
return true ;
}
return false ;
@@ -327,7 +305,7 @@ public class Iter<T> implements Iterator<T> {
// return map(stream.iterator(), converter) ;
// }
- public static <T, R> Iterator<R> map(final Iterator<? extends T> stream, final Transform<T, R> converter) {
+ public static <T, R> Iterator<R> map(final Iterator<? extends T> stream, final Function<T, R> converter) {
final Iterator<R> iter = new Iterator<R>() {
@Override
public boolean hasNext() {
@@ -336,7 +314,7 @@ public class Iter<T> implements Iterator<T> {
@Override
public R next() {
- return converter.convert(stream.next()) ;
+ return converter.apply(stream.next()) ;
}
@Override
@@ -347,68 +325,14 @@ public class Iter<T> implements Iterator<T> {
return iter ;
}
- public static <T, R> List<R> map(List<? extends T> list, Transform<T, R> converter) {
+ public static <T, R> List<R> map(List<? extends T> list, Function<T, R> converter) {
return toList(map(list.iterator(), converter)) ;
}
- /**
- * Projects each element of a sequence to an Iterator<R> and flattens
- * the resulting sequences into one sequence.
- */
- public static <T, R> Iterator<R> mapMany(final Iterator<? extends T> stream,
- final Transform<? super T, Iterator<R>> converter) {
- final Iterator<R> iter = new Iterator<R>() {
-
- private Iterator<? extends R> it = null ; // Iterator for the
- // current element of
- // stream.
-
- @Override
- public boolean hasNext() {
- if ( it != null && it.hasNext() )
- // Element of the current iterator.
- return true ;
- // Start or current iterator has ended.
- it = null ;
-
- // Need to move to next non-empty iterator of the stream.
- while (stream.hasNext()) {
- it = converter.convert(stream.next()) ;
- if ( it.hasNext() )
- // There is something.
- return true ;
- }
- it = null ;
- // Stream ran out.
- return false ;
- }
-
- @Override
- public R next() {
- if ( !hasNext() )
- throw new NoSuchElementException() ;
- // "it" is always left with something to yield if hashNext is
- // true.
- return it.next() ;
- }
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException("mapMany.remove") ;
- }
- } ;
-
- return iter ;
- }
-
// public static <T, R> Iterator<R> mapMany(Iterable<? extends T> stream, Transform<T, Iterator<R>> converter) {
// return mapMany(stream.iterator(), converter) ;
// }
- public static <T, R> List<R> mapMany(List<? extends T> list, Transform<T, Iterator<R>> converter) {
- return toList(mapMany(list.iterator(), converter)) ;
- }
-
// /**
// * Apply an action to everything in stream, yielding a stream of the same
// * items
@@ -421,7 +345,7 @@ public class Iter<T> implements Iterator<T> {
* Apply an action to everything in stream, yielding a stream of the same
* items
*/
- public static <T> Iterator<T> operate(final Iterator<? extends T> stream, final Action<T> action) {
+ public static <T> Iterator<T> operate(final Iterator<? extends T> stream, final Consumer<T> action) {
final Iterator<T> iter = new Iterator<T>() {
@Override
public boolean hasNext() {
@@ -431,7 +355,7 @@ public class Iter<T> implements Iterator<T> {
@Override
public T next() {
T t = stream.next() ;
- action.apply(t) ;
+ action.accept(t) ;
return t ;
}
@@ -450,13 +374,7 @@ public class Iter<T> implements Iterator<T> {
/** Print an iterator as it gets used - this adds a printing wrapper */
public static <T> Iterator<T> printWrapper(final PrintStream out, final Iterator<? extends T> stream) {
- Action<T> action = new Action<T>() {
- @Override
- public void apply(T item) {
- out.println(item) ;
- }
- } ;
- return Iter.operate(stream, action) ;
+ return Iter.operate(stream, out::println) ;
}
// /** Join two iteratables
@@ -502,7 +420,7 @@ public class Iter<T> implements Iterator<T> {
// }
public static <T> Iterator<T> removeNulls(Iterator<T> iter) {
- return filter(iter, new FilterOutNulls<T>()) ;
+ return filter(iter, x -> x != null) ;
}
/** Take the first N elements of an iterator - stop early if too few */
@@ -667,14 +585,7 @@ public class Iter<T> implements Iterator<T> {
*/
public static <T> Iterator<T> debug(final PrintStream out, Iterator<T> stream) {
try {
- Transform<T, T> x = new Transform<T, T>() {
- @Override
- public T convert(T item) {
- out.println(item) ;
- return item ;
- }
- } ;
- return map(stream, x) ;
+ return map(stream, item -> {out.println(item); return item;}) ;
} finally { out.flush() ; }
}
@@ -685,14 +596,7 @@ public class Iter<T> implements Iterator<T> {
/** Print an iterator (destructive) */
public static <T> void print(final PrintStream out, Iterator<T> stream) {
- Action<T> x = new Action<T>() {
- @Override
- public void apply(T item) {
- out.println(item) ;
- }
-
- } ;
- apply(stream, x) ;
+ apply(stream, out::println) ;
}
// /** Print an iterable */
@@ -782,58 +686,57 @@ public class Iter<T> implements Iterator<T> {
return Iter.iter(iter1).append(Iter.iter(iter2)) ;
}
- public static <T> T first(Iterator<T> iter, Filter<T> filter) {
- for (int idx = 0; iter.hasNext(); idx++) {
+ public static <T> T first(Iterator<T> iter, Predicate<T> filter) {
+ while (iter.hasNext()) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
return t ;
- // return idx ;
}
return null ;
}
- public static <T> T first(Collection<T> collection, Filter<T> filter) {
- return first(collection.iterator(), filter) ;
+ public static <T> T first(Collection<T> collection, Predicate<T> filter) {
+ return collection.stream().filter(filter).findFirst().orElse(null);
}
- public static <T> int firstIndex(Iterator<T> iter, Filter<T> filter) {
+ public static <T> int firstIndex(Iterator<T> iter, Predicate<T> filter) {
for (int idx = 0; iter.hasNext(); idx++) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
return idx ;
}
return -1 ;
}
- public static <T> int firstIndex(Collection<T> collection, Filter<T> filter) {
+ public static <T> int firstIndex(Collection<T> collection, Predicate<T> filter) {
return firstIndex(collection.iterator(), filter) ;
}
- public static <T> T last(Iterator<T> iter, Filter<T> filter) {
+ public static <T> T last(Iterator<T> iter, Predicate<T> filter) {
T thing = null ;
- for (int idx = 0; iter.hasNext(); idx++) {
+ while (iter.hasNext()) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
thing = t ;
}
return thing ;
}
- public static <T> T last(Collection<T> collection, Filter<T> filter) {
+ public static <T> T last(Collection<T> collection, Predicate<T> filter) {
return last(collection.iterator(), filter) ;
}
- public static <T> int lastIndex(Iterator<T> iter, Filter<T> filter) {
+ public static <T> int lastIndex(Iterator<T> iter, Predicate<T> filter) {
int location = -1 ;
for (int idx = 0; iter.hasNext(); idx++) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
location = idx ;
}
return location ;
}
- public static <T> int lastIndex(Collection<T> collection, Filter<T> filter) {
+ public static <T> int lastIndex(Collection<T> collection, Predicate<T> filter) {
return lastIndex(collection.iterator(), filter) ;
}
@@ -858,39 +761,39 @@ public class Iter<T> implements Iterator<T> {
sendToSink(iterator, sink) ;
}
- public T first(Filter<T> filter) {
+ public T first(Predicate<T> filter) {
return first(iterator, filter) ;
}
- public int firstIndex(Filter<T> filter) {
+ public int firstIndex(Predicate<T> filter) {
return firstIndex(iterator, filter) ;
}
- public T last(Filter<T> filter) {
+ public T last(Predicate<T> filter) {
return last(iterator, filter) ;
}
- public int lastIndex(Filter<T> filter) {
+ public int lastIndex(Predicate<T> filter) {
return lastIndex(iterator, filter) ;
}
- public Iter<T> filter(Filter<T> filter) {
+ public Iter<T> filter(Predicate<T> filter) {
return iter(filter(iterator, filter)) ;
}
- public boolean every(Filter<T> filter) {
+ public boolean every(Predicate<T> filter) {
return every(iterator, filter) ;
}
- public boolean some(Filter<T> filter) {
+ public boolean some(Predicate<T> filter) {
return some(iterator, filter) ;
}
public Iter<T> removeNulls() {
- return filter(new FilterOutNulls<T>()) ;
+ return filter(x -> x != null) ;
}
- public <R> Iter<R> map(Transform<T, R> converter) {
+ public <R> Iter<R> map(Function<T, R> converter) {
return iter(map(iterator, converter)) ;
}
@@ -898,7 +801,7 @@ public class Iter<T> implements Iterator<T> {
* Apply an action to everything in the stream, yielding a stream of the
* same items
*/
- public Iter<T> operate(Action<T> action) {
+ public Iter<T> operate(Consumer<T> action) {
return iter(operate(iterator, action)) ;
}
@@ -906,7 +809,7 @@ public class Iter<T> implements Iterator<T> {
return reduce(iterator, aggregator) ;
}
- public void apply(Action<T> action) {
+ public void apply(Consumer<T> action) {
apply(iterator, action) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
index ee45935..a8cb1b2 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
@@ -18,10 +18,16 @@
package org.apache.jena.atlas.iterator;
+import java.util.Arrays;
import java.util.Iterator ;
import java.util.NoSuchElementException ;
+import java.util.Spliterator;
/** Iterator over a Java base array */
+/**
+ * Prefer {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
+ */
+@Deprecated
public final class IteratorArray<T> implements Iterator<T>
{
/** Iterator over all the array elements */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
deleted file mode 100644
index 3c6492e..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.jena.atlas.iterator;
-
-import java.util.Map ;
-
-import org.apache.jena.atlas.lib.ActionKeyValue ;
-
-
-
-public class MapUtils
-{
- // Map specific operations
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action)
- {
- for ( Map.Entry<K,V> entry : map.entrySet() )
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
index d5d6a0a..67fc3af 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
@@ -18,4 +18,10 @@
package org.apache.jena.atlas.iterator;
-public interface Transform <T, R> { R convert(T item) ; }
+import java.util.function.Function;
+
+/**
+ * Prefer {@link Function}.
+ */
+@Deprecated
+public interface Transform <T, R> extends Function<T,R>{ }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
index 894107a..12dadab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
@@ -18,7 +18,12 @@
package org.apache.jena.atlas.lib;
-public interface ActionKeyValue<KeyType, ValueType>
+import java.util.function.BiConsumer;
+
+/**
+ * Prefer {@link BiConsumer<KeyType, ValueType>}.
+ */
+@Deprecated
+public interface ActionKeyValue<KeyType, ValueType> extends BiConsumer<KeyType, ValueType>
{
- public void apply(KeyType key, ValueType value) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
index d7fa711..8ebf2d7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
@@ -20,6 +20,7 @@ package org.apache.jena.atlas.lib;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
/** A cache */
public interface Cache<Key, Value>
@@ -52,5 +53,5 @@ public interface Cache<Key, Value>
public long size() ;
/** Register a callback - called when an object is dropped from the cache (optional operation) */
- public void setDropHandler(ActionKeyValue<Key,Value> dropHandler) ;
+ public void setDropHandler(BiConsumer<Key,Value> dropHandler) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
index f5c3d22..0f709b0 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
@@ -18,7 +18,7 @@
package org.apache.jena.atlas.lib;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
public interface CacheSet<T>
{
@@ -30,5 +30,5 @@ public interface CacheSet<T>
public void remove(T obj) ;
public long size() ;
/** Register a callback - called when an object is dropped from the cache (optional operation) */
- public void setDropHandler(Action<T> dropHandler) ;
+ public void setDropHandler(Consumer<T> dropHandler) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
index 2b6002a..e2f6dfd 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
@@ -21,7 +21,7 @@ package org.apache.jena.atlas.lib;
/** Close this object.
* This form does not allow Exceptions (it does allow RuntimeExceptions).
*/
-public interface Closeable
+public interface Closeable extends java.io.Closeable
{
public void close() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
index 8bae6a4..759e543 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
@@ -19,34 +19,16 @@
package org.apache.jena.atlas.lib;
import java.util.Collection ;
-import java.util.Iterator ;
+import java.util.Objects;
public class CollectionUtils
{
static public <T> void removeNulls(Collection<T> list)
- {
- for ( Iterator<T> iter = list.iterator() ; iter.hasNext() ; )
- {
- T e = iter.next() ;
- if ( e == null )
- iter.remove() ;
- }
+ {
+ list.removeIf(Objects::isNull);
}
static public <T> boolean disjoint(Collection<T> c1, Collection<T> c2)
{
- if ( c2.size() < c1.size() )
- {
- Collection<T> t = c1 ;
- c1 = c2 ;
- c2 = t ;
- }
-
- for ( T t : c1 )
- {
- if ( c2.contains(t) )
- return false ;
- }
- return true ;
- }
+ return c1.stream().noneMatch(c2::contains);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
index 6c9c442..a866d59 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
@@ -24,6 +24,7 @@ import java.util.zip.CRC32 ;
import java.util.zip.Checksum ;
import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.ext.com.google.common.base.Objects;
public class Lib
{
@@ -35,15 +36,13 @@ public class Lib
((Sync)object).sync() ;
}
- /** Return true if obj1 and obj are both null or are .equals, else return false */
+ /** Return true if obj1 and obj are both null or are .equals, else return false
+ * Prefer {@link Objects#equal(Object, Object)}
+ */
+ @Deprecated
public static final <T> boolean equal(T obj1, T obj2)
{
- if ( obj1 == null )
- return obj2 == null ;
- // obj1 != null
- if ( obj2 == null )
- return false ;
- return obj1.equals(obj2) ;
+ return Objects.equal(obj1, obj2);
}
/** Return true if obj1 and obj are both null or are .equals, else return false */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
index 78d591a..8315236 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
@@ -20,10 +20,9 @@ package org.apache.jena.atlas.lib;
import java.util.ArrayList ;
import java.util.List ;
-
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.atlas.iterator.FilterUnique ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.logging.Log ;
@@ -101,10 +100,10 @@ public class ListUtils
public static <T> void print(final IndentedWriter out, List<T> list, final String sep)
{
- Action<T> output = new Action<T>() {
+ Consumer<T> output = new Consumer<T>() {
boolean first = true ;
@Override
- public void apply(T item)
+ public void accept(T item)
{
if ( ! first ) out.print(sep) ;
out.print(item.toString()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
deleted file mode 100644
index 7999a25..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.jena.atlas.lib;
-
-import java.util.Map ;
-
-/** Map specific functions */
-public class MapUtils
-{
- private MapUtils() {}
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action)
- {
- for ( Map.Entry<K,V> entry : map.entrySet() )
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-
- public static <T> void increment(Map<T, Integer> countMap, T key)
- { increment(countMap, key, 1) ; }
-
- public static <T> void increment(Map<T, Integer> countMap, T key, int incr)
- {
- Integer integer = countMap.get(key) ;
- if ( integer == null )
- countMap.put(key, incr) ;
- else
- countMap.put(key, integer+incr) ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
deleted file mode 100644
index d571fe7..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.jena.atlas.lib;
-
-public class Problem extends RuntimeException
-{
- public Problem(String msg) { super(msg) ; }
- public Problem(String msg, Throwable th) { super(msg, th) ; }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
index f4e561d..5cc65a9 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
@@ -38,12 +38,7 @@ public class SetUtils
public static <T> boolean intersectionP(Set<? extends T> s1, Set<? extends T> s2)
{
- for( T elt : s1 )
- {
- if ( s2.contains(elt) )
- return true ;
- }
- return false ;
+ return s1.stream().anyMatch(s2::contains);
}
public static <T> Set<T> union(Set<? extends T> s1, Set<? extends T> s2)
@@ -61,24 +56,5 @@ public class SetUtils
s3.removeAll(s2) ;
return s3 ;
}
-
- /** Return true if s1 and s2 are disjoint */
- public static <T> boolean isDisjoint(Set<? extends T> s1, Set<? extends T> s2)
- {
- Set<? extends T> x = s1 ;
- Set<? extends T> y = s2 ;
- if ( s1.size() < s2.size() )
- {
- x = s2 ;
- y = s1 ;
- }
-
- for ( T item : x )
- {
- if ( y.contains(item))
- return false ;
- }
- return true ;
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
index ae944a7..35a97a5 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
@@ -21,10 +21,9 @@ package org.apache.jena.atlas.lib ;
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
-import org.apache.jena.atlas.iterator.Transform ;
/** Tuple class - tuples are immutable and must be created initialized */
public class Tuple<T> implements Iterable<T> {
@@ -48,22 +47,13 @@ public class Tuple<T> implements Iterable<T> {
// TupleLib??
public static <T> Iterator<T> project(final int slot, Iterator<Tuple<T>> iter) {
- Transform<Tuple<T>, T> projection = new Transform<Tuple<T>, T>() {
- @Override
- public T convert(Tuple<T> tuple) {
- return tuple.get(slot) ;
- }
- } ;
- return Iter.map(iter, projection) ;
+ return Iter.map(iter, t -> t.get(slot)) ;
}
public static <T> Iterator<Tuple<T>> prefix(final int prefixLength, Iterator<Tuple<T>> iter) {
- Transform<Tuple<T>, Tuple<T>> sub = new Transform<Tuple<T>, Tuple<T>>() {
- @Override
- public Tuple<T> convert(Tuple<T> tuple) {
- T[] x = ArrayUtils.copy(tuple.tuple, 0, prefixLength) ;
- return Tuple.create(x) ;
- }
+ Function<Tuple<T>, Tuple<T>> sub = t -> {
+ T[] x = ArrayUtils.copy(t.tuple, 0, prefixLength) ;
+ return Tuple.create(x) ;
} ;
return Iter.map(iter, sub) ;
}
@@ -100,7 +90,7 @@ public class Tuple<T> implements Iterable<T> {
@Override
public Iterator<T> iterator() {
- return IteratorArray.create(tuple) ;
+ return Arrays.stream(tuple).iterator() ;
}
/** Return a tuple with the column mapping applied */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
index 00befa0..5b8b5cc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
@@ -20,9 +20,9 @@ package org.apache.jena.atlas.lib.cache ;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
/** A cache that keeps nothing */
@@ -67,6 +67,6 @@ public final class Cache0<K, V> implements Cache<K, V> {
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler) {}
+ public void setDropHandler(BiConsumer<K, V> dropHandler) {}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
index 38ab5c6..ffa6e0a 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
@@ -20,16 +20,16 @@ package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.SingletonIterator ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.Lib ;
/** A one-slot cache.*/
public class Cache1<K, V> implements Cache<K,V>
{
- private ActionKeyValue<K, V> dropHandler = null ;
+ private BiConsumer<K, V> dropHandler = null ;
private K cacheKey ;
private V cacheValue ;
@@ -107,7 +107,7 @@ public class Cache1<K, V> implements Cache<K,V>
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler)
+ public void setDropHandler(BiConsumer<K, V> dropHandler)
{
this.dropHandler = dropHandler ;
}
@@ -115,7 +115,7 @@ public class Cache1<K, V> implements Cache<K,V>
private void notifyDrop(K key, V thing)
{
if ( dropHandler != null && key != null )
- dropHandler.apply(key, thing) ;
+ dropHandler.accept(key, thing) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
index fd5959c..a25faa0 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
@@ -21,11 +21,10 @@ package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
import java.util.concurrent.ExecutionException ;
+import java.util.function.BiConsumer;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.logging.Log ;
-
import org.apache.jena.ext.com.google.common.cache.CacheBuilder ;
import org.apache.jena.ext.com.google.common.cache.RemovalListener ;
import org.apache.jena.ext.com.google.common.cache.RemovalNotification ;
@@ -34,7 +33,7 @@ import org.apache.jena.ext.com.google.common.cache.RemovalNotification ;
final
public class CacheGuava<K,V> implements Cache<K, V>
{
- private ActionKeyValue<K, V> dropHandler = null ;
+ private BiConsumer<K, V> dropHandler = null ;
/*private*/ org.apache.jena.ext.com.google.common.cache.Cache<K,V> cache ;
public CacheGuava(int size)
@@ -43,7 +42,7 @@ public class CacheGuava<K,V> implements Cache<K, V>
@Override
public void onRemoval(RemovalNotification<K, V> notification) {
if ( dropHandler != null )
- dropHandler.apply(notification.getKey(),
+ dropHandler.accept(notification.getKey(),
notification.getValue()) ;
}
} ;
@@ -112,7 +111,7 @@ public class CacheGuava<K,V> implements Cache<K, V>
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler) {
+ public void setDropHandler(BiConsumer<K, V> dropHandler) {
this.dropHandler = dropHandler ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
index b3bf048..8a24d26 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
@@ -19,9 +19,9 @@
package org.apache.jena.atlas.lib.cache ;
import java.util.Iterator ;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
-import org.apache.jena.atlas.iterator.Action ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.CacheSet ;
@@ -37,21 +37,21 @@ public class CacheSetImpl<T> implements CacheSet<T> {
/** Callback for entries when dropped from the cache */
@Override
- public void setDropHandler(Action<T> dropHandler) {
+ public void setDropHandler(Consumer<T> dropHandler) {
cacheMap.setDropHandler(new Wrapper<T>(dropHandler)) ;
}
// From map action to set action.
- static class Wrapper<T> implements ActionKeyValue<T, Object> {
- Action<T> dropHandler ;
+ static class Wrapper<T> implements BiConsumer<T, Object> {
+ Consumer<T> dropHandler ;
- public Wrapper(Action<T> dropHandler) {
+ public Wrapper(Consumer<T> dropHandler) {
this.dropHandler = dropHandler ;
}
@Override
- public void apply(T key, Object value) {
- dropHandler.apply(key) ;
+ public void accept(T key, Object value) {
+ dropHandler.accept(key) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
index fc3a3bd..8fdda11 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
@@ -18,7 +18,8 @@
package org.apache.jena.atlas.lib.cache ;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.lib.CacheSet ;
public class CacheSetSync<T> implements CacheSet<T> {
@@ -59,7 +60,7 @@ public class CacheSetSync<T> implements CacheSet<T> {
}
@Override
- synchronized public void setDropHandler(Action<T> dropHandler) {
+ synchronized public void setDropHandler(Consumer<T> dropHandler) {
cache.setDropHandler(dropHandler) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
index c11ffb0..3a36c97 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
@@ -18,7 +18,8 @@
package org.apache.jena.atlas.lib.cache ;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.lib.CacheSet ;
public class CacheSetWrapper<T> implements CacheSet<T> {
@@ -59,7 +60,7 @@ public class CacheSetWrapper<T> implements CacheSet<T> {
}
@Override
- public void setDropHandler(Action<T> dropHandler) {
+ public void setDropHandler(Consumer<T> dropHandler) {
cache.setDropHandler(dropHandler) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
index a33d8e2..9f889dd 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
@@ -18,13 +18,14 @@
package org.apache.jena.atlas.lib.cache;
+import static java.util.Arrays.asList;
+
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
@@ -40,7 +41,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
private final K[] keys ;
private final int size ;
private int currentSize = 0 ;
- private ActionKeyValue<K,V> dropHandler = null ;
+ private BiConsumer<K,V> dropHandler = null ;
public CacheSimple(int size)
{
@@ -113,7 +114,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
// Drop the old K->V
old = values[x] ;
if ( dropHandler != null )
- dropHandler.apply(keys[x], old) ;
+ dropHandler.accept(keys[x], old) ;
currentSize-- ;
}
@@ -142,7 +143,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
@Override
public Iterator<K> keys()
{
- Iterator<K> iter = IteratorArray.create(keys) ;
+ Iterator<K> iter = asList(keys).iterator() ;
return Iter.removeNulls(iter) ;
}
@@ -154,7 +155,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
/** Callback for entries when dropped from the cache */
@Override
- public void setDropHandler(ActionKeyValue<K,V> dropHandler)
+ public void setDropHandler(BiConsumer<K,V> dropHandler)
{
this.dropHandler = dropHandler ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
index e655749..ef27228 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
@@ -19,8 +19,8 @@
package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
@@ -56,7 +56,7 @@ public class CacheWrapper<Key,T> implements Cache<Key,T>
public void remove(Key key) { cache.remove(key) ; }
@Override
- public void setDropHandler(ActionKeyValue<Key, T> dropHandler)
+ public void setDropHandler(BiConsumer<Key, T> dropHandler)
{ cache.setDropHandler(dropHandler) ; }
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/base/Closeable.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/base/Closeable.java b/jena-base/src/main/java/org/apache/jena/base/Closeable.java
deleted file mode 100644
index 59a06aa..0000000
--- a/jena-base/src/main/java/org/apache/jena/base/Closeable.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 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.jena.base;
-
-/** Close this object.
- * This form does not allow Exceptions (it does allow RuntimeExceptions)
- */
-public interface Closeable {
- public void close() ;
-}
-
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
index 56cf8a9..11550a1 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
@@ -26,6 +26,7 @@ import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Predicate;
import org.junit.Test ;
@@ -225,97 +226,11 @@ public class TestIter
@Test
public void map_01()
{
- Iterator<String> it = Iter.map(data2.iterator(), new Transform<String,String>()
- {
- @Override
- public String convert(String item)
- {
- return item + item;
- }
- });
+ Iterator<String> it = Iter.map(data2.iterator(), item -> item + item);
test(it, "xx", "yy", "zz");
}
-
- @Test
- public void mapMany_01()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- @Override
- public Iterator<String> convert(String item)
- {
- List<String> l = new ArrayList<>(2);
- l.add(item);
- l.add(item + item);
- return l.iterator();
- }
- });
-
- test(it, "x", "xx", "y", "yy", "z", "zz");
- }
-
- @Test
- public void mapMany_02()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- @Override
- public Iterator<String> convert(String item)
- {
- return Iter.nullIterator() ;
- }
- });
-
- assertFalse(it.hasNext()) ;
- }
-
- @Test
- public void mapMany_03()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- int count = 0 ;
- @Override
- public Iterator<String> convert(String item)
- {
- count++ ;
- if ( count%2 == 1 )
- return Iter.singleton(item) ;
- else
- return Iter.nullIterator() ;
- }
- });
-
- test(it, "x", "z");
- }
-
- @Test
- public void mapMany_04()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- int count = 0 ;
- @Override
- public Iterator<String> convert(String item)
- {
- count++ ;
- if ( count%2 == 0 )
- return Iter.singleton(item) ;
- else
- return Iter.nullIterator() ;
- }
- });
-
- test(it, "y");
- }
-
- Filter<String> filter = new Filter<String>() {
- @Override
- public boolean accept(String item)
- {
- return item.length() == 1 ;
- }} ;
+ Predicate<String> filter = item -> item.length() == 1;
@Test
public void first_01()
@@ -441,14 +356,7 @@ public class TestIter
@Test
public void filter_02()
{
- Iterator<String> it = Iter.filter(data3.iterator(), new Filter<String>()
- {
- @Override
- public boolean accept(String item)
- {
- return "x".equals(item) || "z".equals(item) ;
- }
- });
+ Iterator<String> it = Iter.filter(data3.iterator(), item -> "x".equals(item) || "z".equals(item));
test(it, "x", "z");
}
@@ -456,14 +364,7 @@ public class TestIter
@Test
public void filter_03()
{
- Iterator<String> it = Iter.filter(data3.iterator(), new Filter<String>()
- {
- @Override
- public boolean accept(String item)
- {
- return (null == item) || "x".equals(item) ;
- }
- });
+ Iterator<String> it = Iter.filter(data3.iterator(), item -> null == item || "x".equals(item));
test(it, null, "x", null, null, null, null);
}
@@ -496,23 +397,8 @@ public class TestIter
test(iter, "a", "b", "a") ;
}
- private static class AlwaysAcceptFilter implements Filter<Object> {
- @Override
- public boolean accept(Object o) {
- return true;
- }
- }
-
- private static class NeverAcceptFilter implements Filter<Object> {
- @Override
- public boolean accept(Object o) {
- return false;
- }
- }
-
-
private static class AlwaysAcceptFilterStack extends FilterStack<Object> {
- public AlwaysAcceptFilterStack(Filter<Object> f) {
+ public AlwaysAcceptFilterStack(Predicate<Object> f) {
super(f);
}
@@ -524,16 +410,16 @@ public class TestIter
@Test
public void testFilterStack_01() {
- Filter<Object> filter = new AlwaysAcceptFilter();
+ Predicate<Object> filter = x -> true;
FilterStack<Object> filterStack = new AlwaysAcceptFilterStack(filter);
- assertTrue(filterStack.accept(new Object()));
+ assertTrue(filterStack.test(new Object()));
}
@Test
public void testFilterStack_02() {
- Filter<Object> filter = new NeverAcceptFilter();
+ Predicate<Object> filter = x -> false;
FilterStack<Object> filterStack = new AlwaysAcceptFilterStack(filter);
- assertFalse(filterStack.accept(new Object()));
+ assertFalse(filterStack.test(new Object()));
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 7ac9351..84bb858 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -24,10 +24,8 @@ import static org.apache.jena.fuseki.HttpNames.paramNamedGraphURI ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
-
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
@@ -76,17 +74,9 @@ public abstract class SPARQL_Protocol extends SPARQL_ServletBase
private static List<String> removeEmptyValues(List<String> list)
{
- return Iter.iter(list).filter(acceptNonEmpty).toList() ;
+ return Iter.iter(list).filter(item -> item != null && item.length() != 0).toList() ;
}
- private static Filter<String> acceptNonEmpty = new Filter<String>(){
- @Override
- public boolean accept(String item)
- {
- return item != null && item.length() != 0 ;
- }
- } ;
-
protected static int countParamOccurences(HttpServletRequest request, String param)
{
String[] x = request.getParameterValues(param) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 4f5d5c9..2a19d03 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -24,10 +24,10 @@ import static org.apache.jena.riot.web.HttpNames.paramNamedGraphURI ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
+import java.util.function.Predicate;
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
@@ -79,13 +79,7 @@ public abstract class SPARQL_Protocol extends ActionSPARQL
return Iter.iter(list).filter(acceptNonEmpty).toList() ;
}
- private static Filter<String> acceptNonEmpty = new Filter<String>(){
- @Override
- public boolean accept(String item)
- {
- return item != null && item.length() != 0 ;
- }
- } ;
+ private static Predicate<String> acceptNonEmpty = item -> item != null && item.length() != 0;
protected static int countParamOccurences(HttpServletRequest request, String param)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
index 6206f62..6f262a5 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
@@ -18,6 +18,7 @@
package org.apache.jena.permissions.query.rewriter;
import java.util.List;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -30,7 +31,6 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.* ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
public class SecuredFunction extends ExprFunctionN
{
@@ -103,7 +103,7 @@ public class SecuredFunction extends ExprFunctionN
}
@Override
- public Expr applyNodeTransform( NodeTransform transform )
+ public Expr applyNodeTransform( Function<Node, Node> transform )
{
return this;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
index 78aae0b..fdc7339 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
@@ -22,10 +22,10 @@ import static org.apache.jena.atlas.iterator.Iter.apply ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.io.PrintUtils ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.graph.Node ;
import org.apache.jena.shared.PrefixMapping ;
import org.apache.jena.sparql.algebra.op.OpQuadPattern ;
@@ -167,10 +167,10 @@ public class QuadBlock extends ArrayList<Quad> implements Iterable<Quad>, PrintS
{
final String sep = "\n" ;
- final Action<Quad> strAction = new Action<Quad>() {
+ final Consumer<Quad> strAction = new Consumer<Quad>() {
boolean first = true ;
@Override
- public void apply(Quad quad)
+ public void accept(Quad quad)
{
if ( ! first )
out.print(sep) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
index 9ece0c9..c35cf6c 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
@@ -23,10 +23,8 @@ import static org.apache.jena.atlas.iterator.Iter.* ;
import java.sql.SQLException;
import java.util.List;
import java.util.Set;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jena.atlas.iterator.Transform;
import org.apache.jena.query.Query ;
import org.apache.jena.query.SortCondition ;
import org.apache.jena.sdb.SDB ;
@@ -102,7 +100,7 @@ public class SDB_QC
// If part query, need all variables.
// Project variables
- List<Var> vars = toList(map(query.getResultVars().iterator(), StringToVar)) ;
+ List<Var> vars = toList(map(query.getResultVars().iterator(), Var::alloc)) ;
if ( vars.size() == 0 )
{
@@ -114,7 +112,7 @@ public class SDB_QC
q2.setQueryPattern(query.getQueryPattern()) ;
q2.setQuerySelectType() ;
q2.setQueryResultStar(true) ;
- vars = toList(map(q2.getResultVars().iterator(), StringToVar)) ;
+ vars = toList(map(q2.getResultVars().iterator(), Var::alloc)) ;
}
@@ -146,12 +144,4 @@ public class SDB_QC
{
return ( x instanceof OpSQL ) ;
}
-
-
- private static Transform<String, Var> StringToVar = new Transform<String, Var>(){
- @Override
- public Var convert(String varName)
- {
- return Var.alloc(varName) ;
- }} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
index 608cb6b..e2bfda6 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
@@ -113,12 +113,12 @@ public class TransformSDB extends TransformCopy
// Find optional-on-left
Set<ScopeEntry> scopes2 = toSet(filter(scopes.iterator(), ScopeEntry.OptionalFilter)) ;
- Set<Var> leftOptVars = toSet(map(scopes2.iterator(), ScopeEntry.ToVar)) ; // Vars from left optionals.
+ Set<Var> leftOptVars = toSet(map(scopes2.iterator(), ScopeEntry::getVar)) ; // Vars from left optionals.
if ( false )
{
Iter<ScopeEntry> iter = Iter.iter(scopes) ;
- Set<Var> leftOptVars_ = iter.filter(ScopeEntry.OptionalFilter).map(ScopeEntry.ToVar).toSet() ;
+ Set<Var> leftOptVars_ = iter.filter(ScopeEntry.OptionalFilter).map(ScopeEntry::getVar).toSet() ;
}
// Find optional-on-right (easier - it's all variables)
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
index b9b1d78..0384e85 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
@@ -18,9 +18,9 @@
package org.apache.jena.sdb.core;
-import org.apache.jena.atlas.iterator.Action ;
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.iterator.Transform ;
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+
import org.apache.jena.sdb.core.sqlexpr.SqlColumn ;
import org.apache.jena.sparql.core.Var ;
@@ -30,27 +30,9 @@ public class ScopeEntry
SqlColumn column;
ScopeStatus status ;
- public static Filter<ScopeEntry> OptionalFilter = new Filter<ScopeEntry>()
- {
- @Override
- public boolean accept(ScopeEntry item)
- { return item.getStatus() == ScopeStatus.OPTIONAL ; }
- } ;
-
- public static Transform<ScopeEntry, Var> ToVar = new Transform<ScopeEntry, Var>()
- {
- @Override
- public Var convert(ScopeEntry item)
- { return item.getVar() ; }
- } ;
+ public static Predicate<ScopeEntry> OptionalFilter = item -> item.getStatus() == ScopeStatus.OPTIONAL;
- public static Action<ScopeEntry> SetOpt = new Action<ScopeEntry>()
- {
- @Override
- public void apply(ScopeEntry item)
- { item.setStatus(ScopeStatus.OPTIONAL) ; }
- } ;
-
+ public static Consumer<ScopeEntry> SetOpt = item -> item.setStatus(ScopeStatus.OPTIONAL) ;
public ScopeEntry(Var var, SqlColumn column)
{ this(var, column, ScopeStatus.FIXED) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
index bc51291..2a4706a 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
@@ -22,8 +22,6 @@ import java.util.HashMap ;
import java.util.HashSet ;
import java.util.Map ;
import java.util.Set ;
-
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.core.sqlexpr.SqlColumn ;
import org.apache.jena.sparql.core.Var ;
import org.slf4j.Logger ;
@@ -114,23 +112,4 @@ public class ScopeRename implements Scope
{
return frame + " " + scope ;
}
-
- private Transform<ScopeEntry, ScopeEntry> converter =
- new Transform<ScopeEntry, ScopeEntry>(){
- @Override
- public ScopeEntry convert(ScopeEntry entry)
- {
- entry = new ScopeEntry(entry.getVar(), entry.getColumn()) ;
- Var var = entry.getVar() ;
- SqlColumn col = frame.get(var) ;
- if ( col == null )
- {
- log.warn("No alias for variable "+var) ;
- return entry ;
- }
- ScopeEntry entry2 = new ScopeEntry(entry.getVar(), entry.getColumn()) ;
- entry2.setStatus(entry.getStatus()) ;
- //entry.reset(var, col, entry.getStatus()) ;
- return entry2 ;
- }} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
index 489ebf8..69b242c 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
@@ -20,10 +20,8 @@ package org.apache.jena.sdb.core.sqlnode;
import java.util.List ;
import java.util.Set ;
-
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sdb.SDB ;
import org.apache.jena.sdb.core.Annotations ;
@@ -281,14 +279,9 @@ public class GenerateSQLVisitor implements SqlNodeVisitor
return join2 ;
}
- static final Transform<SqlColumn, SqlTable> colToTable = new Transform<SqlColumn, SqlTable>() {
- @Override
- public SqlTable convert(SqlColumn item) { return item.getTable() ; }
- } ;
-
private static Set<SqlTable> tables(Set<SqlColumn> cols)
{
- return Iter.toSet(Iter.map(cols.iterator(), colToTable)) ;
+ return Iter.toSet(Iter.map(cols.iterator(), SqlColumn::getTable)) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java b/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
index ed1e70f..097736a 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
@@ -18,11 +18,12 @@
package org.apache.jena.sdb.print;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.io.Printable ;
-import org.apache.jena.atlas.iterator.Action ;
-public class ActionPrint <T extends Printable> implements Action<T>
+public class ActionPrint <T extends Printable> implements Consumer<T>
{
private boolean first = true ;
private IndentedWriter out ;
@@ -32,7 +33,7 @@ public class ActionPrint <T extends Printable> implements Action<T>
public ActionPrint(IndentedWriter out) { this(out, " ") ; }
@Override
- public void apply(Printable item)
+ public void accept(Printable item)
{
if ( ! first && sep != null )
out.print(sep) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
index 751e597..9648f6f 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
@@ -21,10 +21,8 @@ package org.apache.jena.sdb.test.junit;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.List ;
-
import org.junit.runners.Parameterized.Parameters ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.StoreDesc ;
import org.apache.jena.sdb.test.SDBTestSetup ;
import org.apache.jena.sdb.util.Pair ;
@@ -32,13 +30,6 @@ import org.apache.jena.sdb.util.Pair ;
//@RunWith(Parameterized.class)
public abstract class ParamAllStoreDesc
{
- // Make into Object[]{String,Store} lists just for JUnit.
- static Transform<Pair<String, StoreDesc>, Object[]> fix = new Transform<Pair<String, StoreDesc>, Object[]>()
- {
- @Override
- public Object[] convert(Pair<String, StoreDesc> item)
- { return new Object[]{item.car(), item.cdr()} ; }
- } ;
// Build once and return the same for parametrized types each time.
// Connections are slow to create.
@@ -48,7 +39,7 @@ public abstract class ParamAllStoreDesc
List<Pair<String, StoreDesc>> x = new ArrayList<Pair<String, StoreDesc>>() ;
x.addAll(StoreList.storeDesc(SDBTestSetup.storeList)) ;
x.addAll(StoreList.storeDesc(SDBTestSetup.storeListSimple)) ;
- data = Iter.iter(x).map(fix).toList() ;
+ data = Iter.iter(x).map(p -> new Object[]{p.car(), p.cdr()}).toList() ;
}
// ----
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
index 46bb959..4e0a709 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
@@ -21,10 +21,8 @@ package org.apache.jena.sdb.test.junit;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.List ;
-
import org.junit.runners.Parameterized.Parameters ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.Store ;
import org.apache.jena.sdb.StoreDesc ;
import org.apache.jena.sdb.test.SDBTestSetup ;
@@ -33,13 +31,6 @@ import org.apache.jena.sdb.util.Pair ;
//@RunWith(Parameterized.class)
public abstract class ParamAllStores
{
- // Make into Object[]{String,Store} lists just for JUnit.
- static Transform<Pair<String, StoreDesc>, Object[]> fix = new Transform<Pair<String, StoreDesc>, Object[]>()
- {
- @Override
- public Object[] convert(Pair<String, StoreDesc> item)
- { return new Object[]{item.car(), item.cdr()} ; }
- } ;
// Build once and return the same for parametrized types each time.
// Connections are slow to create.
@@ -49,7 +40,7 @@ public abstract class ParamAllStores
List<Pair<String, StoreDesc>> x = new ArrayList<Pair<String, StoreDesc>>() ;
x.addAll(StoreList.stores(SDBTestSetup.storeList)) ;
x.addAll(StoreList.stores(SDBTestSetup.storeListSimple)) ;
- data = Iter.iter(x).map(fix).toList() ;
+ data = Iter.iter(x).map(p -> new Object[]{p.car(), p.cdr()}).toList() ;
}
// ----
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
index 8739689..af5f6c8 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
@@ -22,9 +22,9 @@ import static org.apache.jena.atlas.lib.StrUtils.strjoinNL ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.query.* ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.Property ;
@@ -57,24 +57,9 @@ public class StoreList
"}") ;
// Not Java's finest hour ...
- static Transform<Pair<String, String>, Pair<String, StoreDesc>> t1 = new Transform<Pair<String, String>, Pair<String, StoreDesc>>()
- {
- @Override
- public Pair<String, StoreDesc> convert(Pair<String, String> pair)
- {
- return new Pair<String, StoreDesc>(pair.car(), StoreDesc.read(pair.cdr())) ;
- }
- } ;
+ static Function<Pair<String, String>, Pair<String, StoreDesc>> t1 = p -> new Pair<String, StoreDesc>(p.car(), StoreDesc.read(p.cdr()));
- static Transform<Pair<String, StoreDesc>, Pair<String, Store>> t2 = new Transform<Pair<String, StoreDesc>, Pair<String, Store>>()
- {
- @Override
- public Pair<String, Store> convert(Pair<String, StoreDesc> pair)
- {
- Store store = testStore(pair.cdr()) ;
- return new Pair<String, Store>(pair.car(), store) ;
- }
- } ;
+ static Function<Pair<String, StoreDesc>, Pair<String, Store>> t2 = p -> new Pair<String, Store>(p.car(), testStore(p.cdr()));
public static Store testStore(StoreDesc desc)
{