Repository: commons-rdf Updated Branches: refs/heads/fluent-parser 996e40a29 -> 556afa96b
build() -> immutable() Expose ParserConfig as build() Now Builder can build something -- a ParserConfig Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/556afa96 Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/556afa96 Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/556afa96 Branch: refs/heads/fluent-parser Commit: 556afa96be361f3e69823fcbbd502300489b70a0 Parents: 996e40a Author: Stian Soiland-Reyes <st...@apache.org> Authored: Tue Feb 20 11:44:19 2018 +0000 Committer: Stian Soiland-Reyes <st...@apache.org> Committed: Tue Feb 20 11:44:19 2018 +0000 ---------------------------------------------------------------------- .../java/org/apache/commons/rdf/api/RDF.java | 2 +- .../commons/rdf/api/fluentparser/Async.java | 2 +- .../commons/rdf/api/fluentparser/Buildable.java | 21 ++++++++++++++++++-- .../rdf/api/fluentparser/NeedSourceBased.java | 2 +- .../rdf/api/fluentparser/NeedSourceOrBase.java | 2 +- .../rdf/api/fluentparser/NeedTargetOrRDF.java | 2 +- .../rdf/api/fluentparser/OptionalTarget.java | 2 +- .../commons/rdf/api/fluentparser/Sync.java | 2 +- .../commons/rdf/api/io/ParserConfigBuilder.java | 4 ++-- 9 files changed, 28 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/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 e88a171..bd5e4d2 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 @@ -306,7 +306,7 @@ public interface RDF { * Note that the returned {@link ParserBuilder} may be mutable and not * thread-safe, and should only be used for parsing once. A reusable, * immutable builder can be created at any step with - * {@link Buildable#build()}. + * {@link Buildable#immutable()}. * * @return {@link ParserBuilder} supported by this RDF implementation * @throws UnsupportedOperationException http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Async.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Async.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Async.java index 9341d00..fd6ca05 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Async.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Async.java @@ -24,7 +24,7 @@ import org.apache.commons.rdf.api.io.Parsed; public interface Async<T, S> extends Buildable { - Async<T, S> build(); + Async<T, S> immutable(); <V> Async<T,S> option(Option<V> option, V value); Future<Parsed<T, S>> parseAsync(); http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Buildable.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Buildable.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Buildable.java index 201fc9d..088b784 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Buildable.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Buildable.java @@ -17,9 +17,12 @@ */ package org.apache.commons.rdf.api.fluentparser; +import org.apache.commons.rdf.api.RDF; import org.apache.commons.rdf.api.io.Option; import org.apache.commons.rdf.api.io.Option.RequiredOption; import org.apache.commons.rdf.api.io.Parser; +import org.apache.commons.rdf.api.io.ParserConfig; +import org.apache.commons.rdf.api.io.ParserConfig.ImmutableParserConfig; public interface Buildable { /** @@ -28,8 +31,22 @@ public interface Buildable { * * @return An immutable builder */ - Buildable build(); - + Buildable immutable(); + + /** + * Build the (potentially partial) parser config. + * <p> + * The parser configuration can be further modified, e.g. + * {@link ParserConfig#withOption(Option, Object)} or used with a {@link Parser} + * as retrieved from {@link RDF#parser(org.apache.commons.rdf.api.RDFSyntax)}. + * <p> + * The returned {@link ParserConfig} is immutable and is not affected by any + * further modifications to this builder. + * + * @return An Immutable {@link ParserConfig} as configured by the current builder. + */ + ImmutableParserConfig build(); + /** * Return a builder with the given option set. * <p> http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceBased.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceBased.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceBased.java index 5933fa9..46e68b2 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceBased.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceBased.java @@ -26,7 +26,7 @@ import org.apache.commons.rdf.api.io.ParserSource; public interface NeedSourceBased<T> extends _NeedIdentifiedSource<T>, Buildable { - NeedSourceBased<T> build(); + NeedSourceBased<T> immutable(); <V> NeedSourceBased<T> option(Option<V> option, V value); Sync<T, InputStream> source(InputStream is); } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceOrBase.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceOrBase.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceOrBase.java index c99eb99..8e84663 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceOrBase.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedSourceOrBase.java @@ -21,7 +21,7 @@ import org.apache.commons.rdf.api.IRI; import org.apache.commons.rdf.api.io.Option; public interface NeedSourceOrBase<T> extends _NeedSourceOrBase<T> { - NeedSourceOrBase<T> build(); + NeedSourceOrBase<T> immutable(); <V> NeedSourceOrBase<T> option(Option<V> option, V value); } interface _NeedSourceOrBase<T> extends _NeedIdentifiedSource<T> { http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedTargetOrRDF.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedTargetOrRDF.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedTargetOrRDF.java index df0e163..7e9579b 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedTargetOrRDF.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/NeedTargetOrRDF.java @@ -24,7 +24,7 @@ import org.apache.commons.rdf.api.io.Option; import org.apache.commons.rdf.api.io.ParserTarget; public interface NeedTargetOrRDF extends _NeedTargetOrRDF,Buildable { - NeedTargetOrRDF build(); + NeedTargetOrRDF immutable(); <V> NeedTargetOrRDF option(Option<V> option, V value); } interface _NeedTargetOrRDF extends _NeedTarget { http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/OptionalTarget.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/OptionalTarget.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/OptionalTarget.java index bb1a8ab..9e60374 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/OptionalTarget.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/OptionalTarget.java @@ -20,7 +20,7 @@ package org.apache.commons.rdf.api.fluentparser; import org.apache.commons.rdf.api.io.Option; public interface OptionalTarget<T> extends _OptionalTarget<T>,Buildable { - OptionalTarget<T> build(); + OptionalTarget<T> immutable(); <V> OptionalTarget<T> option(Option<V> option, V value); } http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Sync.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Sync.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Sync.java index 3aec96f..a5b4462 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Sync.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/fluentparser/Sync.java @@ -22,7 +22,7 @@ import org.apache.commons.rdf.api.io.Parsed; public interface Sync<T, S> extends Buildable { - Sync<T, S> build(); + Sync<T, S> immutable(); <V> Sync<T, S> option(Option<V> option, V value); Async<T, S> async(); http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/556afa96/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigBuilder.java ---------------------------------------------------------------------- diff --git a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigBuilder.java b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigBuilder.java index 406c6fe..6f7ecf3 100644 --- a/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigBuilder.java +++ b/commons-rdf-api/src/main/java/org/apache/commons/rdf/api/io/ParserConfigBuilder.java @@ -51,7 +51,7 @@ public final class ParserConfigBuilder implements ParserBuilder, NeedTargetOrRDF } } - public ParserConfig buildConfig() { + public ImmutableParserConfig build() { return config.asImmutableConfig(); } @@ -147,7 +147,7 @@ public final class ParserConfigBuilder implements ParserBuilder, NeedTargetOrRDF } @Override - public ParserConfigBuilder build() { + public ParserConfigBuilder immutable() { return mutate(config.asImmutableConfig()); }