Sensible defaults in RDF() parser operations but Simple throws UnsupportedOperationException as it can't parse anything
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/a96eade4 Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/a96eade4 Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/a96eade4 Branch: refs/heads/fluent-parser Commit: a96eade4c3e88251323711095b7c4ea775fe60ac Parents: 5f1c781 Author: Stian Soiland-Reyes <st...@apache.org> Authored: Tue Feb 20 10:50:00 2018 +0000 Committer: Stian Soiland-Reyes <st...@apache.org> Committed: Tue Feb 20 10:50:25 2018 +0000 ---------------------------------------------------------------------- .../main/java/org/apache/commons/rdf/api/RDF.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/a96eade4/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/RDF.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/RDF.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/RDF.java index 46f7499..e88a171 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/RDF.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/RDF.java @@ -28,6 +28,9 @@ import org.apache.commons.rdf.api.fluentparser.Sync; import org.apache.commons.rdf.api.io.Parsed; import org.apache.commons.rdf.api.io.Parser; import org.apache.commons.rdf.api.io.ParserBuilder; +import org.apache.commons.rdf.api.io.ParserConfig; +import org.apache.commons.rdf.api.io.ParserConfigBuilder; +import org.apache.commons.rdf.api.io.ParserTarget; import org.apache.commons.rdf.api.io.Writer; /** @@ -309,7 +312,11 @@ public interface RDF { * @throws UnsupportedOperationException * If this RDF implementation does not support parsing RDF */ - public ParserBuilder<Dataset> parserBuilder() throws UnsupportedOperationException; + @SuppressWarnings("unchecked") + default public ParserBuilder<Dataset> parserBuilder() throws UnsupportedOperationException { + return new ParserConfigBuilder( + ParserConfig.mutable().withRDF(this).withTarget(ParserTarget.toDataset(createDataset()))); + } /** * Return a parser for the given RDF syntax. @@ -327,7 +334,9 @@ public interface RDF { * @return A {@link Parser}, or {@link Optional#empty()} if the * syntax is not supported. */ - public Optional<Parser> parser(RDFSyntax syntax); + default public Optional<Parser> parser(RDFSyntax syntax) { + return Optional.empty(); + } /** * Return a writer for the given RDF syntax. @@ -344,5 +353,7 @@ public interface RDF { * @return A {@link Writer}, or {@link Optional#empty()} if the * syntax is not supported. */ - public Optional<Writer> writer(RDFSyntax syntax); + default public Optional<Writer> writer(RDFSyntax syntax) { + return Optional.empty(); + } }