Export inner classes

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

Branch: refs/heads/fluent-parser
Commit: 725e8d086a0306ccdb120d117ee9c59bb7f11e3e
Parents: fb9a60b
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 15 00:55:04 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 15 00:55:04 2018 +0000

----------------------------------------------------------------------
 .../rdf/api/io/AbstractParserFactory.java       | 178 ++-----------------
 .../org/apache/commons/rdf/api/io/IRIImpl.java  |  47 +++++
 .../commons/rdf/api/io/IRIParserSource.java     |  47 +++++
 .../commons/rdf/api/io/InputParserSource.java   |  44 +++++
 .../commons/rdf/api/io/ParserConfigImpl.java    |  90 ++++++++++
 .../commons/rdf/api/io/PathParserSource.java    |  49 +++++
 6 files changed, 291 insertions(+), 164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/AbstractParserFactory.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/AbstractParserFactory.java
 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/AbstractParserFactory.java
index 2e37b81..725a569 100644
--- 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/AbstractParserFactory.java
+++ 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/AbstractParserFactory.java
@@ -16,15 +16,9 @@
  */
 package org.apache.commons.rdf.api.io;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.Serializable;
-import java.net.URL;
-import java.nio.file.Files;
 import java.nio.file.Path;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 
@@ -66,170 +60,26 @@ Async {
                }
        }
 
-       static final class InputParserSource implements ParserSource {
-               private final InputStream is;
-
-               private InputParserSource(InputStream is) {
-                       this.is = is;
-               }
-
-               @Override
-               public Object src() {
-                       return is;
-               }
-
-               @Override
-               public InputStream inputStream() throws IOException {
-                       return is;
-               }
-
-               @Override
-               public Optional iri() {
-                       return Optional.empty();
-               }
-       }
-
-       private final class PathParserSource implements ParserSource<Path> {
-               private final Path path;
-
-               private PathParserSource(Path path) {
-                       this.path = path;
-               }
-
-               @Override
-               public Path src() {
-                       return path;
-               }
-
-               @Override
-               public InputStream inputStream() throws IOException {
-                       return Files.newInputStream(path);
-               }
+       private boolean mutable = false;
+       private ParserConfigImpl config = new ParserConfigImpl();
 
-               @Override
-               public Optional<IRI> iri() {
-                       final String uri = path.toUri().toString();
-                       return Optional.of(new IRIImpl(uri));
-               }
+       @Override
+       public NeedTargetOrRDF syntax(RDFSyntax syntax) {
+               return mutate(config::withSyntax, syntax);
        }
 
-       private final class IRIParserSource implements ParserSource<IRI> {
-               private final IRI iri;
-
-               private IRIParserSource(IRI iri) {
-                       this.iri = iri;
-               }
-
-               @Override
-               public IRI src() {
-                       return iri;
-               }
-
-               @Override
-               public InputStream inputStream() throws IOException {
-                       return new URL(iri.getIRIString()).openStream();
-               }
-
-               @Override
-               public Optional<IRI> iri() {
-                       return Optional.of(iri);
-               }
+       @FunctionalInterface
+       private interface WithValue<V> {
+               ParserConfig withValue(V value); 
        }
-
-       private final class IRIImpl implements IRI {
-               private final String uri;
-
-               private IRIImpl(String uri) {
-                       this.uri = uri;
-               }
-
-               @Override
-               public String ntriplesString() {
-                       return "<" + uri + ">";
-               }
-
-               @Override
-               public String getIRIString() {
-                       return uri;
-               }
-
-               @Override
-               public boolean equals(Object obj) {
-                       return (obj instanceof IRI) && ((IRI) 
obj).getIRIString().equals(uri);
-               }
-
-               @Override
-               public int hashCode() {
-                       return uri.hashCode();
-               }
-       }
-
-       public static final class ParserConfigImpl implements Cloneable, 
Serializable, ParserConfig {
-               private static final long serialVersionUID = 1L;
-               private RDF rdf = null;
-               private RDFSyntax syntax = null;
-               private IRI base = null;
-               private ParserSource source = null;
-               private ParserTarget target = null;
-               final private  Map<Option, Object> options = new HashMap<>();
-
-               public ParserConfigImpl() {
-               }
-               
-               public ParserConfigImpl(ParserConfig old) {
-                       rdf = old.rdf().orElse(null);
-                       syntax = old.syntax().orElse(null);
-                       base = old.base().orElse(null);
-                       source = old.source().orElse(null);
-                       target = old.target().orElse(null);
-                       options.putAll(old.options());
-               }
-
-               @Override
-               protected Object clone() {
-                       return new ParserConfigImpl(this);
-               }
-
-               @Override
-               public Optional<ParserSource> source() {
-                       return Optional.of(source);
-               }
-
-               @Override
-               public Optional<IRI> base() {
-                       return Optional.of(base);
-               }
-
-               @Override
-               public Optional<ParserTarget> target() {
-                       return Optional.of(target);
-               }
-
-               @Override
-               public Optional<RDFSyntax> syntax() {
-                       return Optional.of(syntax);
-               }
-
-               @Override
-               public Optional<RDF> rdf() {
-                       return Optional.of(rdf);
-               }
-
-               @Override
-               public Map<Option, Object> options() {
-                       return options;
+       
+       private AbstractParserFactory mutate(WithValue<V> valueFunc, V value) {
+               if (mutable) {
+                       return valueFunc.withValue(value);
+               } else {
+                       mutable().mutate(valueFunc, value);
                }
                
-               
-       }
-       private boolean mutable = false;
-       private ParserConfigImpl config = new ParserConfigImpl();
-
-       @Override
-       public NeedTargetOrRDF syntax(RDFSyntax syntax) {
-               AbstractParserFactory c = mutable();
-               c.config.syntax = syntax;
-               return c;
        }
 
        private AbstractParserFactory mutable(boolean mutable) {

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIImpl.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIImpl.java 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIImpl.java
new file mode 100644
index 0000000..fa65e98
--- /dev/null
+++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIImpl.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api.io;
+
+import org.apache.commons.rdf.api.IRI;
+
+final class IRIImpl implements IRI {
+       private final String uri;
+
+       IRIImpl(String uri) {
+               this.uri = uri;
+       }
+
+       @Override
+       public String ntriplesString() {
+               return "<" + uri + ">";
+       }
+
+       @Override
+       public String getIRIString() {
+               return uri;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               return (obj instanceof IRI) && ((IRI) 
obj).getIRIString().equals(uri);
+       }
+
+       @Override
+       public int hashCode() {
+               return uri.hashCode();
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIParserSource.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIParserSource.java
 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIParserSource.java
new file mode 100644
index 0000000..83a5ea4
--- /dev/null
+++ 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/IRIParserSource.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api.io;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Optional;
+
+import org.apache.commons.rdf.api.IRI;
+
+final class IRIParserSource implements ParserSource<IRI> {
+       private final IRI iri;
+
+       IRIParserSource(IRI iri) {
+               this.iri = iri;
+       }
+
+       @Override
+       public IRI src() {
+               return iri;
+       }
+
+       @Override
+       public InputStream inputStream() throws IOException {
+               return new URL(iri.getIRIString()).openStream();
+       }
+
+       @Override
+       public Optional<IRI> iri() {
+               return Optional.of(iri);
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/InputParserSource.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/InputParserSource.java
 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/InputParserSource.java
new file mode 100644
index 0000000..5a99e4b
--- /dev/null
+++ 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/InputParserSource.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api.io;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Optional;
+
+final class InputParserSource implements ParserSource {
+       private final InputStream is;
+
+       InputParserSource(InputStream is) {
+               this.is = is;
+       }
+
+       @Override
+       public Object src() {
+               return is;
+       }
+
+       @Override
+       public InputStream inputStream() throws IOException {
+               return is;
+       }
+
+       @Override
+       public Optional iri() {
+               return Optional.empty();
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigImpl.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigImpl.java
 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigImpl.java
new file mode 100644
index 0000000..a61e50e
--- /dev/null
+++ 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigImpl.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api.io;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.RDF;
+import org.apache.commons.rdf.api.RDFSyntax;
+
+public final class ParserConfigImpl implements Cloneable, Serializable, 
ParserConfig {
+       private static final long serialVersionUID = 1L;
+       private RDF rdf = null;
+       private RDFSyntax syntax = null;
+       private IRI base = null;
+       private ParserSource source = null;
+       private ParserTarget target = null;
+       private final  Map<Option, Object> options = new HashMap<>();
+
+       public ParserConfigImpl() {
+       }
+       
+       public ParserConfigImpl(ParserConfig old) {
+               rdf = old.rdf().orElse(null);
+               syntax = old.syntax().orElse(null);
+               base = old.base().orElse(null);
+               source = old.source().orElse(null);
+               target = old.target().orElse(null);
+               options.putAll(old.options());
+       }
+
+       @Override
+       protected Object clone() {
+               return new ParserConfigImpl(this);
+       }
+
+       @Override
+       public Optional<ParserSource> source() {
+               return Optional.of(source);
+       }
+
+       @Override
+       public Optional<IRI> base() {
+               return Optional.of(base);
+       }
+
+       @Override
+       public Optional<ParserTarget> target() {
+               return Optional.of(target);
+       }
+
+       @Override
+       public Optional<RDFSyntax> syntax() {
+               return Optional.of(syntax);
+       }
+
+       @Override
+       public Optional<RDF> rdf() {
+               return Optional.of(rdf);
+       }
+
+       @Override
+       public Map<Option, Object> options() {
+               return options;
+       }
+
+       ParserConfig withSyntax(RDFSyntax syntax) {             
+               this.syntax = syntax;
+               return this;
+       }
+       
+       
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/725e8d08/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/PathParserSource.java
----------------------------------------------------------------------
diff --git 
a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/PathParserSource.java
 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/PathParserSource.java
new file mode 100644
index 0000000..7c6e14c
--- /dev/null
+++ 
b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/PathParserSource.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api.io;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Optional;
+
+import org.apache.commons.rdf.api.IRI;
+
+final class PathParserSource implements ParserSource<Path> {
+       private final Path path;
+
+       PathParserSource(Path path) {
+               this.path = path;
+       }
+
+       @Override
+       public Path src() {
+               return path;
+       }
+
+       @Override
+       public InputStream inputStream() throws IOException {
+               return Files.newInputStream(path);
+       }
+
+       @Override
+       public Optional<IRI> iri() {
+               final String uri = path.toUri().toString();
+               return Optional.of(new IRIImpl(uri));
+       }
+}
\ No newline at end of file

Reply via email to