Added byName()
Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/c04864bf Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/c04864bf Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/c04864bf Branch: refs/heads/master Commit: c04864bf866131fcd4fa2c00d4782864c2b7fe44 Parents: dc082d1 Author: Stian Soiland-Reyes <st...@apache.org> Authored: Thu Jan 12 17:39:42 2017 +0000 Committer: Stian Soiland-Reyes <st...@apache.org> Committed: Thu Jan 12 17:39:42 2017 +0000 ---------------------------------------------------------------------- .../org/apache/commons/rdf/api/RDFSyntax.java | 21 ++++++++++++++++++-- .../apache/commons/rdf/api/RDFSyntaxTest.java | 3 +-- 2 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/c04864bf/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java index 0d2f0b0..70048e1 100644 --- a/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java +++ b/api/src/main/java/org/apache/commons/rdf/api/RDFSyntax.java @@ -190,7 +190,7 @@ public interface RDFSyntax { * @param mediaType * The media type to match * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has - * a matching {@link RDFSyntax#mediaType}, otherwise + * a matching {@link RDFSyntax#mediaType()}, otherwise * {@link Optional#empty()} indicating that no matching syntax was * found. */ @@ -213,7 +213,7 @@ public interface RDFSyntax { * @param fileExtension * The fileExtension to match, starting with <code>.</code> * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has - * a matching {@link RDFSyntax#fileExtension}, otherwise + * a matching {@link RDFSyntax#fileExtension()}, otherwise * {@link Optional#empty()} indicating that no matching file * extension was found. */ @@ -224,6 +224,22 @@ public interface RDFSyntax { } /** + * Return the RDFSyntax with the specified {@link #name()}. + * <p> + * The list of syntaxes supported is at least those returned by + * {@link #w3cSyntaxes()} + * + * @param name + * The name to match, , e.g. <code>"JSONLD"</code> + * @return If {@link Optional#isPresent()}, the {@link RDFSyntax} which has + * a matching {@link RDFSyntax#name()}, otherwise + * {@link Optional#empty()} indicating that no matching name was found. + */ + public static Optional<RDFSyntax> byName(final String name) { + return w3cSyntaxes().stream().filter(t -> t.name().equals(name)).findAny(); + } + + /** * Compare this RDFSyntax with another object. * <p> * Two {@link RDFSyntax}es are considered equal if their @@ -247,4 +263,5 @@ public interface RDFSyntax { */ @Override int hashCode(); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/c04864bf/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java ---------------------------------------------------------------------- diff --git a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java index 8fc79e4..edf68af 100644 --- a/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java +++ b/api/src/test/java/org/apache/commons/rdf/api/RDFSyntaxTest.java @@ -116,8 +116,7 @@ public class RDFSyntaxTest { @Test public void valueOf() throws Exception { - assertEquals(RDFSyntax.TURTLE, RDFSyntax.valueOf("TURTLE")); - // No need to test all of them, we'll trust Enum + assertEquals(RDFSyntax.TURTLE, RDFSyntax.byName("TURTLE")); } }