Parsed() drops count()

adds a bean implementation


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

Branch: refs/heads/fluent-parser-impl
Commit: 912427059e1932ae614ec9c6ffd5c4e18298c78c
Parents: db99ef1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Feb 28 23:39:29 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Feb 28 23:39:29 2018 +0000

----------------------------------------------------------------------
 .../org/apache/commons/rdf/api/io/Parsed.java   | 36 +++++++++++++++++---
 1 file changed, 31 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/91242705/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
index b252e44..12640dc 100644
--- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
+++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
@@ -17,10 +17,36 @@
  */
 package org.apache.commons.rdf.api.io;
 
-public interface Parsed<T, S> {
-    long count();
+public interface Parsed<S, T> {
 
-    ParserSource<S> from();
+       ParserSource<S> from();
 
-    ParserTarget<T> into();
-}
\ No newline at end of file
+       ParserTarget<T> into();
+
+       @SuppressWarnings({ "unchecked", "rawtypes" })
+       public static <S, T> Parsed<S, T> from(
+                       final ParserSource<S> from, 
+                       final ParserTarget<T> into) {
+               return new ParsedImpl(from, into);
+       }
+}
+
+class ParsedImpl<S, T> implements Parsed<S, T> {
+       private ParserSource<S> from;
+       private ParserTarget<T> into;
+
+       ParsedImpl(final ParserSource<S> from, final ParserTarget<T> into) {
+               this.from = from;
+               this.into = into;
+       }
+
+       @Override
+       public ParserSource<S> from() {
+               return from;
+       }
+
+       @Override
+       public ParserTarget<T> into() {
+               return into;
+       }
+}

Reply via email to