You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2015/05/10 15:03:52 UTC

[23/50] [abbrv] jena git commit: Using Java 8 types in o.a.j.atlas

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
index 5445aeb..e3f0b73 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
@@ -18,13 +18,7 @@
 
 package org.apache.jena.query.spatial;
 
-import java.util.List;
-
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.iterator.Transform;
 import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
 import org.apache.jena.sparql.core.QuadAction ;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -62,17 +56,4 @@ public class SpatialDocProducerTriples implements SpatialDocProducer {
 			return;
 		context.index(g, s, p, o);
 	}
-
-	static Transform<Quad, Triple> QuadsToTriples = new Transform<Quad, Triple>() {
-		@Override
-		public Triple convert(Quad item) {
-			return item.asTriple();
-		}
-
-	};
-
-	static private List<Triple> quadsToTriples(List<Quad> quads) {
-		return Iter.map(quads, QuadsToTriples);
-	}
-
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
index ac9e67f..4b884e8 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
@@ -19,8 +19,8 @@
 package org.apache.jena.tdb.base.block;
 
 import java.util.Iterator ;
+import java.util.function.BiConsumer;
 
-import org.apache.jena.atlas.lib.ActionKeyValue ;
 import org.apache.jena.atlas.lib.Cache ;
 import org.apache.jena.atlas.lib.CacheFactory ;
 import org.slf4j.Logger ;
@@ -67,9 +67,9 @@ public class BlockMgrCache extends BlockMgrSync
         else
         {
             writeCache = CacheFactory.createCache(writeSlots) ;
-            writeCache.setDropHandler(new ActionKeyValue<Long, Block>(){
+            writeCache.setDropHandler(new BiConsumer<Long, Block>(){
                 @Override
-                public void apply(Long id, Block block)
+                public void accept(Long id, Block block)
                 { 
                     // We're inside a synchronized operation at this point.
                     log("Cache spill: write block: %d", id) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
index a6c01ff..3f29ae3 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
@@ -23,10 +23,10 @@ import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.printIn
 import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.summarizeDataBlocks ;
 
 import java.util.Iterator ;
+import java.util.function.Function;
 
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.iterator.IteratorWithBuffer ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Pair ;
 import org.apache.jena.tdb.base.block.BlockMgr ;
 import org.apache.jena.tdb.base.buffer.PtrBuffer ;
@@ -141,17 +141,13 @@ public class BPlusTreeRewriter
         final RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr() ;
         Iterator<RecordBufferPage> iter = new RecordBufferPageLinker(new RecordBufferPagePacker(records, mgr)) ;
 
-        Transform<RecordBufferPage, Pair<Integer, Record>> transform = new Transform<RecordBufferPage, Pair<Integer, Record>>()
-        {
-            @Override
-            public Pair<Integer, Record> convert(RecordBufferPage rbp)
+        Function<RecordBufferPage, Pair<Integer, Record>> transform = rbp ->
             {
                 mgr.put(rbp) ;
                 Record r = rbp.getRecordBuffer().getHigh() ;
                 r = bpt.getRecordFactory().createKeyOnly(r) ;
                 return new Pair<>(rbp.getId(), r) ;
-            }
-        } ;
+            };
         // Write and convert to split pairs.
         Iterator<Pair<Integer, Record>> iter2 = Iter.map(iter, transform) ;
 

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
index 3d1c8f7..e9cf3e9 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
@@ -27,7 +27,6 @@ import java.security.NoSuchAlgorithmException ;
 import java.util.Iterator ;
 
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Bytes ;
 import org.apache.jena.atlas.lib.Pool ;
 import org.apache.jena.atlas.lib.PoolBase ;
@@ -222,12 +221,6 @@ public class NodeLib
     
     public static Iterator<Node> nodes(final NodeTable nodeTable, Iterator<NodeId> iter)
     {
-        return Iter.map(iter, new Transform<NodeId, Node>(){
-            @Override
-            public Node convert(NodeId item)
-            {
-                return nodeTable.getNodeForNodeId(item) ;
-            }
-        }) ;
+        return Iter.map(iter, nodeTable::getNodeForNodeId) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
index ff9687e..1925c87 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
@@ -21,9 +21,7 @@ package org.apache.jena.tdb.lib;
 import static org.apache.jena.tdb.sys.SystemTDB.SizeOfLong ;
 
 import java.util.Iterator;
-
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Bytes ;
 import org.apache.jena.atlas.lib.ColumnMap ;
 import org.apache.jena.atlas.lib.InternalErrorException ;
@@ -45,47 +43,23 @@ public class TupleLib
 {
     public static  Iterator<Tuple<Node>> convertToNodes(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
     {
-        Transform<Tuple<NodeId>, Tuple<Node>> action =  new Transform<Tuple<NodeId>, Tuple<Node>>(){
-            @Override
-            public Tuple<Node> convert(Tuple<NodeId> item)
-            {
-                return tupleNodes(nodeTable, item) ;
-            }} ;
-        return Iter.map(iter, action) ;
+        return Iter.map(iter, item -> tupleNodes(nodeTable, item)) ;
     }
     
     public static Iterator<Tuple<NodeId>> convertToNodeId(final NodeTable nodeTable, Iterator<Tuple<Node>> iter)
     {
-        Transform<Tuple<Node>, Tuple<NodeId>> action =  new Transform<Tuple<Node>, Tuple<NodeId>>(){
-            @Override
-            public Tuple<NodeId> convert(Tuple<Node> item)
-            {
-                return tupleNodeIds(nodeTable, item) ;
-            }} ;
-        return Iter.map(iter, action) ;
+        return Iter.map(iter, item -> tupleNodeIds(nodeTable, item)) ;
     }
     
     //Leave - bypasses extract step in Tuple<NodeId> -> Tuple<Node> -> Triple
     public static Iterator<Triple> convertToTriples(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
     {
-        Transform<Tuple<NodeId>, Triple> action =  new Transform<Tuple<NodeId>, Triple>(){
-            @Override
-            public Triple convert(Tuple<NodeId> item)
-            {
-                return triple(nodeTable, item) ;
-            }} ;
-        return Iter.map(iter, action) ;
+        return Iter.map(iter, item -> triple(nodeTable, item)) ;
     }
     
     public static Iterator<Quad> convertToQuads(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
     {
-        Transform<Tuple<NodeId>, Quad> action =  new Transform<Tuple<NodeId>, Quad>(){
-            @Override
-            public Quad convert(Tuple<NodeId> item)
-            {
-                return quad(nodeTable, item) ;
-            }} ;
-        return Iter.map(iter, action) ;
+        return Iter.map(iter, item -> quad(nodeTable, item)) ;
     }
     
     public static Tuple<Node> tupleNodes(NodeTable nodeTable, Tuple<NodeId> ids) 

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
index e1ab89f..77cfbfa 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
@@ -18,8 +18,9 @@
 
 package org.apache.jena.tdb.solver;
 
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.lib.Tuple ;
+import java.util.function.Predicate;
+
+import org.apache.jena.atlas.lib.Tuple;
 import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
@@ -44,7 +45,7 @@ import org.apache.jena.sparql.expr.ExprList ;
 import org.apache.jena.sparql.mgt.Explain ;
 import org.apache.jena.tdb.store.DatasetGraphTDB ;
 import org.apache.jena.tdb.store.GraphTDB ;
-import org.apache.jena.tdb.store.NodeId ;
+import org.apache.jena.tdb.store.NodeId;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -345,7 +346,7 @@ public class OpExecutorTDB1 extends OpExecutor
     protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input)
     { 
         DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
-        Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
+        Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
         Node gn = dsNames.getGraphNode() ;
         if ( Var.isVar(gn) )
             return SolverLib.graphNames(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
@@ -368,7 +369,7 @@ public class OpExecutorTDB1 extends OpExecutor
     /** An op executor that simply executes a BGP or QuadPattern without any reordering */ 
     private static class OpExecutorPlainTDB extends OpExecutor
     {
-        Filter<Tuple<NodeId>> filter = null ;
+        Predicate<Tuple<NodeId>> filter = null ;
         
         public OpExecutorPlainTDB(ExecutionContext execCxt)
         {

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
index 26200c3..331ac59 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
@@ -18,7 +18,8 @@
 
 package org.apache.jena.tdb.solver;
 
-import org.apache.jena.atlas.iterator.Filter ;
+import java.util.function.Predicate;
+
 import org.apache.jena.atlas.lib.Tuple ;
 import org.apache.jena.sparql.util.Context ;
 import org.apache.jena.tdb.TDBException ;
@@ -27,13 +28,13 @@ import org.apache.jena.tdb.sys.SystemTDB ;
 
 public class QC2
 {
-    public static Filter<Tuple<NodeId>> getFilter(Context context)
+    public static Predicate<Tuple<NodeId>> getFilter(Context context)
     {
         Object x = context.get(SystemTDB.symTupleFilter) ;
 
         try {
             @SuppressWarnings("unchecked")
-            Filter<Tuple<NodeId>> f = (Filter<Tuple<NodeId>>)x ;
+            Predicate<Tuple<NodeId>> f = (Predicate<Tuple<NodeId>>)x ;
             return f ;
         } catch (ClassCastException ex)
         {
@@ -41,7 +42,7 @@ public class QC2
         }
     }
 
-    public static void setFilter(Context context, Filter<Tuple<NodeId>> filter)
+    public static void setFilter(Context context, Predicate<Tuple<NodeId>> filter)
     {
         context.set(SystemTDB.symTupleFilter, filter) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
index b92bfc1..cf813e1 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
@@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver;
 import static org.apache.jena.tdb.lib.Lib2.printAbbrev ;
 
 import java.util.* ;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
 
 import org.apache.jena.atlas.iterator.* ;
 import org.apache.jena.atlas.lib.Tuple ;
@@ -54,7 +57,7 @@ public class SolverLib
     
     /** Non-reordering execution of a basic graph pattern, given a iterator of bindings as input */ 
     public static QueryIterator execute(GraphTDB graph, BasicPattern pattern, 
-                                        QueryIterator input, Filter<Tuple<NodeId>> filter,
+                                        QueryIterator input, Predicate<Tuple<NodeId>> filter,
                                         ExecutionContext execCxt)
     {
         // Maybe default graph or named graph.
@@ -67,7 +70,7 @@ public class SolverLib
      *  GraphNode is null for execution over the real default graph.
      */ 
     public static QueryIterator execute(DatasetGraphTDB ds, Node graphNode, BasicPattern pattern,
-                                        QueryIterator input, Filter<Tuple<NodeId>> filter,
+                                        QueryIterator input, Predicate<Tuple<NodeId>> filter,
                                         ExecutionContext execCxt)
     {
         NodeTupleTable ntt = ds.chooseNodeTupleTable(graphNode) ;
@@ -81,14 +84,14 @@ public class SolverLib
      * (in convToBinding(BindingNodeId, NodeTable)
      */
     public static Iterator<Binding> convertToNodes(Iterator<BindingNodeId> iterBindingIds, NodeTable nodeTable)
-    { return Iter.map(iterBindingIds, convToBinding(nodeTable)) ; }
+    { return Iter.map(iterBindingIds, bindingNodeIds -> convToBinding(bindingNodeIds, nodeTable)) ; }
     
     // The worker.  Callers choose the NodeTupleTable.  
     //     graphNode may be Node.ANY, meaning we should make triples unique.
     //     graphNode may be null, meaning default graph
 
     private static QueryIterator execute(NodeTupleTable nodeTupleTable, Node graphNode, BasicPattern pattern, 
-                                         QueryIterator input, Filter<Tuple<NodeId>> filter,
+                                         QueryIterator input, Predicate<Tuple<NodeId>> filter,
                                          ExecutionContext execCxt)
     {
         if ( Quad.isUnionGraph(graphNode) )
@@ -202,21 +205,11 @@ public class SolverLib
     public static Iterator<BindingNodeId> solve(NodeTupleTable nodeTupleTable, 
                                                 Tuple<Node> tuple,
                                                 boolean anyGraph,
-                                                Iterator<BindingNodeId> chain, Filter<Tuple<NodeId>> filter,
+                                                Iterator<BindingNodeId> chain, Predicate<Tuple<NodeId>> filter,
                                                 ExecutionContext execCxt)
     {
         return new StageMatchTuple(nodeTupleTable, chain, tuple, anyGraph, filter, execCxt) ;
     }
-    
-    // Transform : BindingNodeId ==> Binding
-    private static Transform<BindingNodeId, Binding> convToBinding(final NodeTable nodeTable) {
-        return new Transform<BindingNodeId, Binding>() {
-            @Override
-            public Binding convert(BindingNodeId bindingNodeIds) {
-                return convToBinding(bindingNodeIds, nodeTable) ;
-            }
-        } ;
-    }
 
     public static Binding convToBinding(BindingNodeId bindingNodeIds, NodeTable nodeTable) {
         if ( true )
@@ -235,15 +228,9 @@ public class SolverLib
     }
     
     // Transform : Binding ==> BindingNodeId
-    public static Transform<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable)
+    public static Function<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable)
     {
-        return new Transform<Binding, BindingNodeId>()
-        {
-            @Override
-            public BindingNodeId convert(Binding binding) {
-                return SolverLib.convert(binding, nodeTable) ;
-            }
-        } ;
+        return binding -> SolverLib.convert(binding, nodeTable);
     }
     
     /** Binding ==> BindingNodeId, given a NodeTable */
@@ -276,7 +263,7 @@ public class SolverLib
     
     /** Find whether a specific graph name is in the quads table. */
     public static QueryIterator testForGraphName(DatasetGraphTDB ds, Node graphNode, QueryIterator input,
-                                                 Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) {
+                                                 Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) {
         NodeId nid = TDBInternal.getNodeId(ds, graphNode) ;
         boolean exists = !NodeId.isDoesNotExist(nid) ;
         if ( exists ) {
@@ -302,7 +289,7 @@ public class SolverLib
 
     /** Find all the graph names in the quads table. */
     public static QueryIterator graphNames(DatasetGraphTDB ds, Node graphNode, QueryIterator input,
-                                           Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) {
+                                           Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) {
         List<Abortable> killList = new ArrayList<>() ;
         Iterator<Tuple<NodeId>> iter1 = ds.getQuadTable().getNodeTupleTable().find(NodeId.NodeIdAny, NodeId.NodeIdAny,
                                                                                    NodeId.NodeIdAny, NodeId.NodeIdAny) ;
@@ -319,14 +306,7 @@ public class SolverLib
         Iterator<Node> iter4 = NodeLib.nodes(ds.getQuadTable().getNodeTupleTable().getNodeTable(), iter3) ;
 
         final Var var = Var.alloc(graphNode) ;
-        Transform<Node, Binding> bindGraphName = new Transform<Node, Binding>() {
-            @Override
-            public Binding convert(Node node) {
-                return BindingFactory.binding(var, node) ;
-            }
-        } ;
-
-        Iterator<Binding> iterBinding = Iter.map(iter4, bindGraphName) ;
+        Iterator<Binding> iterBinding = Iter.map(iter4, node -> BindingFactory.binding(var, node)) ;
         // Not abortable.
         return new QueryIterTDB(iterBinding, killList, input, execCxt) ;
     }
@@ -364,10 +344,6 @@ public class SolverLib
     }
     
     // -- Mutating "transform in place"
-    private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){
-        @Override
-        public void apply(Tuple<NodeId> item)
-        { item.tuple()[0] = NodeId.NodeIdAny ; }
-    } ;
+    private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
 
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
index bb76f7c..78bd791 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
@@ -18,15 +18,16 @@
 
 package org.apache.jena.tdb.solver;
 
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.lib.Tuple ;
+import java.util.function.Predicate;
+
+import org.apache.jena.atlas.lib.Tuple;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.sparql.core.BasicPattern ;
 import org.apache.jena.sparql.engine.ExecutionContext ;
 import org.apache.jena.sparql.engine.QueryIterator ;
 import org.apache.jena.sparql.engine.main.StageGenerator ;
 import org.apache.jena.tdb.store.GraphTDB ;
-import org.apache.jena.tdb.store.NodeId ;
+import org.apache.jena.tdb.store.NodeId;
 
 /** Execute TDB requests directly -- no reordering
  *  Using OpExecutor is preferred.
@@ -51,7 +52,7 @@ public class StageGeneratorDirectTDB implements StageGenerator
             // Not us - bounce up the StageGenerator chain
             return above.execute(pattern, input, execCxt) ;
         GraphTDB graph = (GraphTDB)g ;
-        Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
+        Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
         return SolverLib.execute(graph, pattern, input, filter, execCxt) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
index 77cdbdd..398502e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
@@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver;
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
 
 import org.apache.jena.atlas.iterator.* ;
 import org.apache.jena.atlas.lib.Tuple ;
@@ -38,11 +41,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
 
     private final ExecutionContext execCxt ;
     private boolean anyGraphs ;
-    private Filter<Tuple<NodeId>> filter ;
+    private Predicate<Tuple<NodeId>> filter ;
 
     public StageMatchTuple(NodeTupleTable nodeTupleTable, Iterator<BindingNodeId> input, 
                             Tuple<Node> tuple, boolean anyGraphs, 
-                            Filter<Tuple<NodeId>> filter, 
+                            Predicate<Tuple<NodeId>> filter, 
                             ExecutionContext execCxt)
     {
         super(input) ;
@@ -117,10 +120,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
         }
         
         // Map Tuple<NodeId> to BindingNodeId
-        Transform<Tuple<NodeId>, BindingNodeId> binder = new Transform<Tuple<NodeId>, BindingNodeId>()
-        {
-            @Override
-            public BindingNodeId convert(Tuple<NodeId> tuple)
+        Function<Tuple<NodeId>, BindingNodeId> binder = tuple -> 
             {
                 BindingNodeId output = new BindingNodeId(input) ;
                 for ( int i = 0 ; i < var.length ; i++ )
@@ -134,27 +134,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
                     output.put(v, id) ;
                 }
                 return output ;
-            }
         } ;
         
         return Iter.iter(iterMatches).map(binder).removeNulls() ;
     }
     
-   
-    // -- Copying
-    private static Transform<Tuple<NodeId>,Tuple<NodeId>> projectToTriples = new Transform<Tuple<NodeId>,Tuple<NodeId>>(){
-        @Override
-        public Tuple<NodeId> convert(Tuple<NodeId> item)
-        {
-            // Zap graph node id.
-            Tuple<NodeId> t2 = Tuple.createTuple(NodeId.NodeIdAny,    // Can't be null - gets bound to a daft variable.
-                                                 item.get(1),
-                                                 item.get(2),
-                                                 item.get(3)) ;
-            return t2 ;
-        } } ;
-    
-    
     private static Iterator<Tuple<NodeId>> print(Iterator<Tuple<NodeId>> iter)
     {
         if ( ! iter.hasNext() )
@@ -202,9 +186,5 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
     }
     
     // -- Mutating "transform in place"
-    private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){
-        @Override
-        public void apply(Tuple<NodeId> item)
-        { item.tuple()[0] = NodeId.NodeIdAny ; }
-    } ;
+    private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
index 620b34a..72f0d97 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
@@ -22,7 +22,6 @@ package org.apache.jena.tdb.solver.stats;
 import java.util.HashMap ;
 import java.util.Map ;
 
-import org.apache.jena.atlas.lib.MapUtils ;
 import org.apache.jena.graph.Node ;
 
 /** Statistics collector, general purpose */
@@ -41,9 +40,9 @@ abstract class StatsCollectorBase<T>
     public void record(T g, T s, T p, T o)
     {
         count++ ;
-        MapUtils.increment(predicates, p) ;
+		predicates.put(p, predicates.getOrDefault(p, 0) + 1);
         if ( typeTrigger != null && typeTrigger.equals(p) )
-            MapUtils.increment(types, o) ;
+        		types.put(o, types.getOrDefault(o, 0) + 1);
     }
 
     protected abstract Map<Node, Integer> convert(Map<T, Integer> map) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
index c577861..55dfe53 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
 
 
 import java.util.Iterator ;
-
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Closeable ;
 import org.apache.jena.atlas.lib.Sync ;
 import org.apache.jena.atlas.lib.Tuple ;
@@ -171,21 +169,12 @@ public class DatasetGraphTDB extends DatasetGraphCaching
     public ReorderTransformation getReorderTransform()      { return transform ; }
     
     public DatasetPrefixesTDB getPrefixes()                 { return prefixes ; }
-
-    static private Transform<Tuple<NodeId>, NodeId> project0 = new Transform<Tuple<NodeId>, NodeId>()
-    {
-        @Override
-        public NodeId convert(Tuple<NodeId> item)
-        {
-            return item.get(0) ;
-        }
-    } ;
     
     @Override
     public Iterator<Node> listGraphNodes()
     {
         Iterator<Tuple<NodeId>> x = quadTable.getNodeTupleTable().findAll() ;
-        Iterator<NodeId> z =  Iter.iter(x).map(project0).distinct() ;
+        Iterator<NodeId> z =  Iter.iter(x).map(t -> t.get(0)).distinct() ;
         return NodeLib.nodes(quadTable.getNodeTupleTable().getNodeTable(), z) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
index 17d2e25..93fbf69 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
@@ -19,9 +19,9 @@
 package org.apache.jena.tdb.store ;
 
 import java.util.Iterator ;
+import java.util.function.Function;
 
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Closeable ;
 import org.apache.jena.atlas.lib.Sync ;
 import org.apache.jena.atlas.lib.Tuple ;
@@ -166,18 +166,11 @@ public class GraphTDB extends GraphView implements Closeable, Sync {
         return (int)Iter.count(iter) ;
     }
 
-    private static Transform<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = new Transform<Tuple<NodeId>, Tuple<NodeId>>() {
-                                                                                     @Override
-                                                                                     public Tuple<NodeId> convert(Tuple<NodeId> item) {
-                                                                                         if ( item.size() != 4 )
-                                                                                             throw new TDBException(
-                                                                                                                    "Expected a Tuple of 4, got: "
-                                                                                                                        + item) ;
-                                                                                         return Tuple.createTuple(item.get(1),
-                                                                                                                  item.get(2),
-                                                                                                                  item.get(3)) ;
-                                                                                     }
-                                                                                 } ;
+	private static Function<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = item -> {
+		if (item.size() != 4)
+			throw new TDBException("Expected a Tuple of 4, got: " + item);
+		return Tuple.createTuple(item.get(1), item.get(2), item.get(3));
+	};
 
     // Convert from Iterator<Quad> to Iterator<Triple>
     static class ProjectQuadsToTriples implements Iterator<Triple> {

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
index 894b49e..313d8d5 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
 
 
 import java.util.Iterator ;
-
 import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Tuple ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
@@ -89,13 +87,6 @@ public class QuadTable extends TableBase
         Iterator<Quad> iter2 = TupleLib.convertToQuads(table.getNodeTable(), iter) ;
         return iter2 ;
     }
-    
-    private static Transform<Tuple<Node>, Quad> action = new Transform<Tuple<Node>, Quad>(){
-        @Override
-        public Quad convert(Tuple<Node> item)
-        {
-            return new Quad(item.get(0), item.get(1), item.get(2), item.get(3)) ;
-        }} ; 
 
     /** Clear - does not clear the associated node tuple table */
     public void clearQuads()

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
index e79f7da..5dfc17e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
 
 
 import java.util.Iterator ;
-
 import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Tuple ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
@@ -79,13 +77,6 @@ public class TripleTable extends TableBase
         return iter2 ;
     }
     
-    private static Transform<Tuple<Node>, Triple> action = new Transform<Tuple<Node>, Triple>(){
-        @Override
-        public Triple convert(Tuple<Node> item)
-        {
-            return new Triple(item.get(0), item.get(1), item.get(2)) ;
-        }} ; 
-   
     /** Clear - does not clear the associated node tuple table */
     public void clearTriples()
     { table.clear() ; }

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
index e5796ca..51ceee1 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
@@ -22,9 +22,9 @@ import static org.apache.jena.tdb.lib.NodeLib.setHash ;
 
 import java.nio.ByteBuffer ;
 import java.util.Iterator ;
+import java.util.function.Function;
 
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Pair ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.tdb.TDBException ;
@@ -214,37 +214,16 @@ public class NodeTableNative implements NodeTable
     @Override
     public Iterator<Pair<NodeId, Node>> all() { return all2() ; }
     
-    private Iterator<Pair<NodeId, Node>> all1()
-    
-    {
-        // Could be quicker by hoping down the objects files.
-        Iterator<Record> iter = nodeHashToId.iterator() ;
-
-        Transform<Record, Pair<NodeId, Node>> transform = new Transform<Record, Pair<NodeId, Node>>() {
-            @Override
-            public Pair<NodeId, Node> convert(Record item)
-            {
-                NodeId id = NodeId.create(item.getValue(), 0) ;
-                Node n = NodeLib.fetchDecode(id.getId(), getObjects()) ;
-                return new Pair<>(id, n) ;
-            }};
-        return Iter.map(iter, transform) ;
-    }
-
     private Iterator<Pair<NodeId, Node>> all2()
     {
         Iterator<Pair<Long, ByteBuffer>> objs = objects.all() ; 
         
-        Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = new Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>>() {
-            @Override
-            public Pair<NodeId, Node> convert(Pair<Long, ByteBuffer> item)
-            {
-                NodeId id = NodeId.create(item.car().longValue()) ;
-                ByteBuffer bb = item.cdr();
-                Node n = NodeLib.decode(bb) ;
-                return new Pair<>(id, n) ;
-            }
-        };
+		Function<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = item -> {
+			NodeId id = NodeId.create(item.car().longValue());
+			ByteBuffer bb = item.cdr();
+			Node n = NodeLib.decode(bb);
+			return new Pair<>(id, n);
+		};
         return Iter.map(objs, transform) ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
index d4079b0..ead540e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
@@ -22,6 +22,7 @@ import static java.lang.String.format;
 import static org.apache.jena.tdb.sys.SystemTDB.SizeOfNodeId ;
 
 import java.util.Iterator;
+import java.util.function.Predicate;
 
 import org.apache.jena.atlas.iterator.* ;
 import org.apache.jena.atlas.lib.Bytes ;
@@ -166,7 +167,7 @@ public class TupleIndexRecord extends TupleIndexBase
             iter = index.iterator(minRec, maxRec) ;
         }
         
-        Iterator<Tuple<NodeId>> tuples = Iter.map(iter, transformToTuple) ;
+        Iterator<Tuple<NodeId>> tuples = Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ;
         
         if ( leadingIdx < numSlots-1 )
         {
@@ -185,25 +186,16 @@ public class TupleIndexRecord extends TupleIndexBase
     public Iterator<Tuple<NodeId>> all()
     {
         Iterator<Record> iter = index.iterator() ;
-        return Iter.map(iter, transformToTuple) ;
+        return Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ;
     }
     
-    private final Transform<Record, Tuple<NodeId>> transformToTuple = new Transform<Record, Tuple<NodeId>>()
-    {
-        @Override
-        public final Tuple<NodeId> convert(Record item)
-        {
-            return TupleLib.tuple(item, colMap) ;
-        }
-    } ; 
-    
     private Iterator<Tuple<NodeId>> scan(Iterator<Tuple<NodeId>> iter,
                                          final Tuple<NodeId> pattern)
     {
-        Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>()
+        Predicate<Tuple<NodeId>> filter = new Predicate<Tuple<NodeId>>()
         {
             @Override
-            public boolean accept(Tuple<NodeId> item)
+            public boolean test(Tuple<NodeId> item)
             {
                 // Check on pattern and item (both in natural order)
                 for ( int i = 0 ; i < tupleLength ; i++ )

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
index 79053ad..9d72156 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
@@ -24,7 +24,6 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
 import org.apache.jena.atlas.lib.Bytes ;
 import org.apache.jena.tdb.base.record.Record ;
 import org.apache.jena.tdb.base.record.RecordFactory ;
@@ -83,13 +82,7 @@ public class RecordLib
 
     public static List<Integer> toIntList(Iterator<Record> iter)
     {
-        return Iter.toList(Iter.map(iter, new Transform<Record, Integer>(){
-            @Override
-            public Integer convert(Record item)
-            {
-                return recordToInt(item) ;
-            }}
-        )) ;
+        return Iter.toList(Iter.map(iter, item -> recordToInt(item))) ;
     }
     
     public static Record r(int v)

http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
index ee2ff43..9752dac 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
@@ -18,7 +18,8 @@
 
 package org.apache.jena.tdb.store;
 
-import org.apache.jena.atlas.iterator.Filter ;
+import java.util.function.Predicate;
+
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.atlas.lib.Tuple ;
 import org.apache.jena.graph.NodeFactory ;
@@ -61,23 +62,12 @@ public class TestQuadFilter extends BaseTest
     }
     
     /** Create a filter to exclude the graph http://example/g2 */
-    private static Filter<Tuple<NodeId>> createFilter(Dataset ds)
+    private static Predicate<Tuple<NodeId>> createFilter(Dataset ds)
     {
         DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ;
         final NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ;
         final NodeId target = nodeTable.getNodeIdForNode(NodeFactory.createURI(graphToHide)) ;
-        Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>() {
-            @Override
-            public boolean accept(Tuple<NodeId> item)
-            {
-                // Reverse the lookup as a demo
-                //Node n = nodeTable.getNodeForNodeId(target) ;
-                //System.err.println(item) ;
-                if ( item.size() == 4 && item.get(0).equals(target) )
-                    return false ;
-                return true ;
-            } } ;
-        return filter ;
+        return item -> !( item.size() == 4 && item.get(0).equals(target) );
     }            
 
     @Test public void quad_filter_1()   { test("SELECT * { GRAPH ?g { ?s ?p ?o } }", 1, 2) ; }
@@ -86,7 +76,7 @@ public class TestQuadFilter extends BaseTest
     
     private void test(String qs, int withFilter, int withoutFilter)
     {
-        Filter<Tuple<NodeId>> filter = createFilter(ds) ;
+        Predicate<Tuple<NodeId>> filter = createFilter(ds) ;
         
 //    private static void example(Dataset ds, Filter<Tuple<NodeId>> filter)
 //    {