Repository: jena Updated Branches: refs/heads/master 59e5e06c8 -> a1c0532c8
Add PrefixMap.forEach Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/7e40c514 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/7e40c514 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/7e40c514 Branch: refs/heads/master Commit: 7e40c5140ba491ef3f9ff51ede5da5a08ef9301f Parents: 59e5e06 Author: Andy Seaborne <a...@apache.org> Authored: Tue Sep 13 14:42:07 2016 +0100 Committer: Andy Seaborne <a...@apache.org> Committed: Tue Sep 13 14:42:07 2016 +0100 ---------------------------------------------------------------------- .../org/apache/jena/riot/system/PrefixMap.java | 6 +++ .../apache/jena/riot/system/PrefixMapBase.java | 7 ++++ .../apache/jena/riot/system/PrefixMapNull.java | 4 ++ .../jena/riot/system/PrefixMapUnmodifiable.java | 2 +- .../jena/riot/system/PrefixMapWrapper.java | 43 ++++++++++++-------- 5 files changed, 43 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/7e40c514/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java index 1b9e98b..a365dd1 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java @@ -18,6 +18,7 @@ package org.apache.jena.riot.system; import java.util.Map; +import java.util.function.BiConsumer ; import org.apache.jena.atlas.lib.Pair; import org.apache.jena.iri.IRI; @@ -72,6 +73,11 @@ public interface PrefixMap { public abstract Map<String, String> getMappingCopyStr(); /** + * Apply a {@link BiConsumer}{@code<String, IRI>} to each entry in the Prefixmap. + */ + public abstract void forEach(BiConsumer<String, IRI> action) ; + + /** * Add a prefix, overwrites any existing association * * @param prefix http://git-wip-us.apache.org/repos/asf/jena/blob/7e40c514/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java index 10dc6de..3447af3 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java @@ -23,6 +23,8 @@ import static java.util.stream.Collectors.toMap; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.function.BiConsumer ; + import org.apache.jena.atlas.lib.Pair; import org.apache.jena.iri.IRI; import org.apache.jena.iri.IRIFactory; @@ -57,6 +59,11 @@ public abstract class PrefixMapBase implements PrefixMap { } @Override + public void forEach(BiConsumer<String, IRI> action) { + getMapping().forEach(action); + } + + @Override public void add(String prefix, String iriString) { this.add(prefix, IRIFactory.iriImplementation().create(iriString)); } http://git-wip-us.apache.org/repos/asf/jena/blob/7e40c514/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java index 30338ab..c403ccc 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java @@ -20,6 +20,7 @@ package org.apache.jena.riot.system ; import java.util.Collections ; import java.util.Map ; +import java.util.function.BiConsumer ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.iri.IRI ; @@ -47,6 +48,9 @@ public class PrefixMapNull implements PrefixMap { } @Override + public void forEach(BiConsumer<String, IRI> action) {} + + @Override public void add(String prefix, String iriString) { throw new UnsupportedOperationException("Unmodifiable PrefixMap") ; } http://git-wip-us.apache.org/repos/asf/jena/blob/7e40c514/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapUnmodifiable.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapUnmodifiable.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapUnmodifiable.java index 5cecb9a..836a855 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapUnmodifiable.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapUnmodifiable.java @@ -31,7 +31,7 @@ public class PrefixMapUnmodifiable extends PrefixMapWrapper @Override public Map<String, IRI> getMapping() - { return Collections.unmodifiableMap(other.getMapping()) ; } + { return Collections.unmodifiableMap(get().getMapping()) ; } @Override public void add(String prefix, String iriString) http://git-wip-us.apache.org/repos/asf/jena/blob/7e40c514/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java index d087b47..856be69 100644 --- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java +++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java @@ -19,6 +19,7 @@ package org.apache.jena.riot.system; import java.util.Map ; +import java.util.function.BiConsumer ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.iri.IRI ; @@ -26,75 +27,81 @@ import org.apache.jena.shared.PrefixMapping ; public class PrefixMapWrapper implements PrefixMap { - protected final PrefixMap other ; + private final PrefixMap other ; + protected PrefixMap get() { return other; } public PrefixMapWrapper(PrefixMap other) { this.other = other ; } @Override public Map<String, IRI> getMapping() - { return other.getMapping() ; } + { return get().getMapping() ; } @Override public Map<String, IRI> getMappingCopy() - { return other.getMappingCopy() ; } + { return get().getMappingCopy() ; } @Override public Map<String, String> getMappingCopyStr() - { return other.getMappingCopyStr() ; } + { return get().getMappingCopyStr() ; } + + @Override + public void forEach(BiConsumer<String, IRI> action) { + get().forEach(action); + } @Override public void add(String prefix, String iriString) - { other.add(prefix, iriString) ; } + { get().add(prefix, iriString) ; } @Override public void add(String prefix, IRI iri) - { other.add(prefix, iri) ; } + { get().add(prefix, iri) ; } @Override public void putAll(PrefixMap pmap) - { other.putAll(pmap) ; } + { get().putAll(pmap) ; } @Override public void putAll(PrefixMapping pmap) - { other.putAll(pmap) ; } + { get().putAll(pmap) ; } @Override public void putAll(Map<String, String> mapping) - { other.putAll(mapping) ; } + { get().putAll(mapping) ; } @Override public void delete(String prefix) - { other.delete(prefix) ; } + { get().delete(prefix) ; } @Override public void clear() - { other.clear(); } + { get().clear(); } @Override public boolean contains(String prefix) - { return other.contains(prefix) ; } + { return get().contains(prefix) ; } @Override public String abbreviate(String uriStr) - { return other.abbreviate(uriStr) ; } + { return get().abbreviate(uriStr) ; } @Override public Pair<String, String> abbrev(String uriStr) - { return other.abbrev(uriStr) ; } + { return get().abbrev(uriStr) ; } @Override public String expand(String prefixedName) - { return other.expand(prefixedName) ; } + { return get().expand(prefixedName) ; } @Override public String expand(String prefix, String localName) - { return other.expand(prefix, localName) ; } + { return get().expand(prefix, localName) ; } @Override public boolean isEmpty() - { return other.isEmpty() ; } + { return get().isEmpty() ; } @Override public int size() - { return other.size() ; } + { return get().size() ; } }