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; - } - -}