Repository: commons-rdf
Updated Branches:
  refs/heads/fluent-parser [created] a944f7b9e


Target subtype Consumer


Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/84a644d7
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/84a644d7
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/84a644d7

Branch: refs/heads/fluent-parser
Commit: 84a644d77cb03c3fd7758385e0fd55a0f8045257
Parents: fff1339
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Tue Feb 21 12:19:32 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Feb 14 18:57:54 2018 +0000

----------------------------------------------------------------------
 .../commons/rdf/experimental/ParserFactory.java |  9 ++++----
 .../rdf/simple/experimental/DatasetTarget.java  | 14 +++++++++----
 .../rdf/simple/experimental/GraphTarget.java    | 10 +++++++++
 .../experimental/ImplicitDatasetTarget.java     |  9 +++++++-
 .../rdf/simple/experimental/ParserBuilder.java  |  5 -----
 .../simple/experimental/ParserFactoryImpl.java  |  8 -------
 .../simple/experimental/QuadConsumerTarget.java | 22 --------------------
 7 files changed, 33 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/api/src/main/java/org/apache/commons/rdf/experimental/ParserFactory.java
----------------------------------------------------------------------
diff --git 
a/api/src/main/java/org/apache/commons/rdf/experimental/ParserFactory.java 
b/api/src/main/java/org/apache/commons/rdf/experimental/ParserFactory.java
index b80ac91..2b4fcf3 100644
--- a/api/src/main/java/org/apache/commons/rdf/experimental/ParserFactory.java
+++ b/api/src/main/java/org/apache/commons/rdf/experimental/ParserFactory.java
@@ -101,8 +101,11 @@ public interface ParserFactory extends _NeedTargetOrRDF {
         T source();
     }
 
-    interface Target<T> {
-        T target();
+    @FunctionalInterface
+    interface Target<T> extends Consumer<Quad> {
+        default T target() {
+            return null; // unknown
+        }
     }
 
     NeedTargetOrRDF syntax(RDFSyntax syntax);
@@ -119,8 +122,6 @@ interface _NeedIdentifiedSource<T> {
 }
 
 interface _NeedTarget {
-    NeedSourceOrBase<Consumer<Quad>> target(Consumer<? super Quad> consumer);
-
     NeedSourceOrBase<Dataset> target(Dataset dataset);
 
     NeedSourceOrBase<Graph> target(Graph graph);

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/DatasetTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/DatasetTarget.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/DatasetTarget.java
index bf60726..714e188 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/DatasetTarget.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/DatasetTarget.java
@@ -1,19 +1,25 @@
 package org.apache.commons.rdf.simple.experimental;
 
 import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.experimental.ParserFactory.Target;
 
 public class DatasetTarget implements Target<Dataset> {
 
-    private final Dataset target;
+    private final Dataset dataset;
 
-    public DatasetTarget(Dataset target) {
-        this.target = target;
+    public DatasetTarget(Dataset dataset) {
+        this.dataset = dataset;
+    }
+    
+    @Override
+    public void accept(Quad q) {
+        dataset.add(q);
     }
     
     @Override
     public Dataset target() {
-        return target;
+        return dataset;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/GraphTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/GraphTarget.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/GraphTarget.java
index 8f03351..6270048 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/GraphTarget.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/GraphTarget.java
@@ -1,6 +1,9 @@
 package org.apache.commons.rdf.simple.experimental;
 
+import java.util.function.Consumer;
+
 import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.experimental.ParserFactory.Target;
 
 public class GraphTarget implements Target<Graph> {
@@ -12,6 +15,13 @@ public class GraphTarget implements Target<Graph> {
     }
 
     @Override
+    public void accept(Quad q) {
+        if (! q.getGraphName().isPresent()) {
+            graph.add(q.asTriple());
+        }
+    }
+    
+    @Override
     public Graph target() {
         return graph;
     }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ImplicitDatasetTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ImplicitDatasetTarget.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ImplicitDatasetTarget.java
index f2d0b74..0b0de2d 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ImplicitDatasetTarget.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ImplicitDatasetTarget.java
@@ -1,6 +1,9 @@
 package org.apache.commons.rdf.simple.experimental;
 
+import java.util.function.Consumer;
+
 import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.api.RDF;
 import org.apache.commons.rdf.experimental.ParserFactory.Target;
 
@@ -12,7 +15,7 @@ public class ImplicitDatasetTarget implements Target<Dataset> 
{
 
     public ImplicitDatasetTarget(RDF rdf) {
         this.rdf = rdf;
-    }    
+    }
     
     @Override
     public Dataset target() {
@@ -27,4 +30,8 @@ public class ImplicitDatasetTarget implements Target<Dataset> 
{
         return target;
     }
 
+    @Override
+    public void accept(Quad t) {
+        target().add(t);        
+    }
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserBuilder.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserBuilder.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserBuilder.java
index 512243c..6842c54 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserBuilder.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserBuilder.java
@@ -121,11 +121,6 @@ public final class ParserBuilder implements 
NeedTargetOrRDF, NeedSourceBased, Sy
     }
 
     @Override
-    public NeedSourceOrBase<Consumer<Quad>> target(Consumer<? super Quad> 
consumer) {
-        return target(new QuadConsumerTarget(consumer));
-    }
-
-    @Override
     public NeedSourceOrBase<Dataset> target(Dataset dataset) {
         return target(new DatasetTarget(dataset));
     }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserFactoryImpl.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserFactoryImpl.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserFactoryImpl.java
index c136459..70b7237 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserFactoryImpl.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/ParserFactoryImpl.java
@@ -1,10 +1,7 @@
 package org.apache.commons.rdf.simple.experimental;
 
-import java.util.function.Consumer;
-
 import org.apache.commons.rdf.api.Dataset;
 import org.apache.commons.rdf.api.Graph;
-import org.apache.commons.rdf.api.Quad;
 import org.apache.commons.rdf.api.RDF;
 import org.apache.commons.rdf.api.RDFSyntax;
 import org.apache.commons.rdf.experimental.ParserFactory;
@@ -27,11 +24,6 @@ public class ParserFactoryImpl implements ParserFactory {
         return target(new DatasetTarget(dataset));
     }
 
-    @Override
-    public NeedSourceOrBase<Consumer<Quad>> target(Consumer<? super Quad> 
consumer) {
-        return target(new QuadConsumerTarget(consumer));
-    }
-
     @SuppressWarnings("unchecked")
     @Override
     public <T> NeedSourceOrBase<T> target(Target<T> target) {

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/84a644d7/simple/src/main/java/org/apache/commons/rdf/simple/experimental/QuadConsumerTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/QuadConsumerTarget.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/experimental/QuadConsumerTarget.java
deleted file mode 100644
index 3e6365a..0000000
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/experimental/QuadConsumerTarget.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.apache.commons.rdf.simple.experimental;
-
-import java.util.function.Consumer;
-
-import org.apache.commons.rdf.api.Quad;
-import org.apache.commons.rdf.experimental.ParserFactory.Target;
-
-public class QuadConsumerTarget implements Target<Consumer<Quad>> {
-
-    private final Consumer<? super Quad> consumer;
-
-    public QuadConsumerTarget(Consumer<? super Quad> consumer) {
-        this.consumer = consumer;
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Consumer<Quad> target() {
-        return (Consumer<Quad>) consumer;
-    }
-
-}

Reply via email to