Add Types enum with RDF and XML Schema type IRIs, fixes #17
Project: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/commit/aaafea68 Tree: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/tree/aaafea68 Diff: http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/diff/aaafea68 Branch: refs/heads/master Commit: aaafea683ca750e498d9abc4552c43f3e7d43a10 Parents: 4d348f9 Author: Peter Ansell <[email protected]> Authored: Mon Jan 26 17:12:09 2015 +1100 Committer: Peter Ansell <[email protected]> Committed: Mon Jan 26 17:17:03 2015 +1100 ---------------------------------------------------------------------- .../github/commonsrdf/simple/LiteralImpl.java | 10 +- .../com/github/commonsrdf/simple/Types.java | 196 +++++++++++++++++++ 2 files changed, 199 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/aaafea68/simple/src/main/java/com/github/commonsrdf/simple/LiteralImpl.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/com/github/commonsrdf/simple/LiteralImpl.java b/simple/src/main/java/com/github/commonsrdf/simple/LiteralImpl.java index da0b6dc..04bb454 100644 --- a/simple/src/main/java/com/github/commonsrdf/simple/LiteralImpl.java +++ b/simple/src/main/java/com/github/commonsrdf/simple/LiteralImpl.java @@ -28,10 +28,6 @@ import com.github.commonsrdf.api.Literal; class LiteralImpl implements Literal { private static final String QUOTE = "\""; - private static final IRIImpl RDF_LANG_STRING = new IRIImpl( - "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"); - private static final IRIImpl XSD_STRING = new IRIImpl( - "http://www.w3.org/2001/XMLSchema#string"); private IRI dataType; private Optional<String> languageTag; @@ -39,7 +35,7 @@ class LiteralImpl implements Literal { public LiteralImpl(String literal) { this.lexicalForm = Objects.requireNonNull(literal); - this.dataType = XSD_STRING; + this.dataType = Types.XSD_STRING; this.languageTag = Optional.empty(); } @@ -65,7 +61,7 @@ class LiteralImpl implements Literal { } // System.out.println(aLocale); - this.dataType = RDF_LANG_STRING; + this.dataType = Types.RDF_LANGSTRING; } @Override @@ -99,7 +95,7 @@ class LiteralImpl implements Literal { sb.append("@"); sb.append(getLanguageTag().get()); - } else if (!getDatatype().equals(XSD_STRING)) { + } else if (!getDatatype().equals(Types.XSD_STRING)) { sb.append("^^"); sb.append(getDatatype().ntriplesString()); } http://git-wip-us.apache.org/repos/asf/incubator-commonsrdf/blob/aaafea68/simple/src/main/java/com/github/commonsrdf/simple/Types.java ---------------------------------------------------------------------- diff --git a/simple/src/main/java/com/github/commonsrdf/simple/Types.java b/simple/src/main/java/com/github/commonsrdf/simple/Types.java new file mode 100644 index 0000000..2a3835f --- /dev/null +++ b/simple/src/main/java/com/github/commonsrdf/simple/Types.java @@ -0,0 +1,196 @@ +/** + * Licensed 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 com.github.commonsrdf.simple; + +import com.github.commonsrdf.api.IRI; + +/** + * Types from the RDF and XML Schema vocabularies. + * + * @author Peter Ansell [email protected] + */ +public enum Types implements IRI { + + /** <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML</tt> */ + RDF_HTML("http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML"), + + /** <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</tt> */ + RDF_LANGSTRING("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"), + + /** + * <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral</tt> + * + * @deprecated Not used in RDF-1.1 + */ + @Deprecated + RDF_PLAINLITERAL("http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral"), + + /** <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</tt> */ + RDF_XMLLITERAL("http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"), + + /** <tt>http://www.w3.org/2001/XMLSchema#anyURI</tt> */ + XSD_ANYURI("http://www.w3.org/2001/XMLSchema#anyURI"), + + /** <tt>http://www.w3.org/2001/XMLSchema#base64Binary</tt> */ + XSD_BASE64BINARY("http://www.w3.org/2001/XMLSchema#base64Binary"), + + /** <tt>http://www.w3.org/2001/XMLSchema#boolean</tt> */ + XSD_BOOLEAN("http://www.w3.org/2001/XMLSchema#boolean"), + + /** <tt>http://www.w3.org/2001/XMLSchema#byte</tt> */ + XSD_BYTE("http://www.w3.org/2001/XMLSchema#byte"), + + /** <tt>http://www.w3.org/2001/XMLSchema#date</tt> */ + XSD_DATE("http://www.w3.org/2001/XMLSchema#date"), + + /** <tt>http://www.w3.org/2001/XMLSchema#dateTime</tt> */ + XSD_DATETIME("http://www.w3.org/2001/XMLSchema#dateTime"), + + /** <tt>http://www.w3.org/2001/XMLSchema#dayTimeDuration</tt> */ + XSD_DAYTIMEDURATION("http://www.w3.org/2001/XMLSchema#dayTimeDuration"), + + /** <tt>http://www.w3.org/2001/XMLSchema#decimal</tt> */ + XSD_DECIMAL("http://www.w3.org/2001/XMLSchema#decimal"), + + /** <tt>http://www.w3.org/2001/XMLSchema#double</tt> */ + XSD_DOUBLE("http://www.w3.org/2001/XMLSchema#double"), + + /** <tt>http://www.w3.org/2001/XMLSchema#duration</tt> */ + XSD_DURATION("http://www.w3.org/2001/XMLSchema#duration"), + + /** <tt>http://www.w3.org/2001/XMLSchema#ENTITIES</tt> */ + XSD_ENTITIES("http://www.w3.org/2001/XMLSchema#ENTITIES"), + + /** <tt>http://www.w3.org/2001/XMLSchema#ENTITY</tt> */ + XSD_ENTITY("http://www.w3.org/2001/XMLSchema#ENTITY"), + + /** <tt>http://www.w3.org/2001/XMLSchema#float</tt> */ + XSD_FLOAT("http://www.w3.org/2001/XMLSchema#float"), + + /** <tt>http://www.w3.org/2001/XMLSchema#gDay</tt> */ + XSD_GDAY("http://www.w3.org/2001/XMLSchema#gDay"), + + /** <tt>http://www.w3.org/2001/XMLSchema#gMonth</tt> */ + XSD_GMONTH("http://www.w3.org/2001/XMLSchema#gMonth"), + + /** <tt>http://www.w3.org/2001/XMLSchema#gMonthDay</tt> */ + XSD_GMONTHDAY("http://www.w3.org/2001/XMLSchema#gMonthDay"), + + /** <tt>http://www.w3.org/2001/XMLSchema#gYear</tt> */ + XSD_GYEAR("http://www.w3.org/2001/XMLSchema#gYear"), + + /** <tt>http://www.w3.org/2001/XMLSchema#gYearMonth</tt> */ + XSD_GYEARMONTH("http://www.w3.org/2001/XMLSchema#gYearMonth"), + + /** <tt>http://www.w3.org/2001/XMLSchema#hexBinary</tt> */ + XSD_HEXBINARY("http://www.w3.org/2001/XMLSchema#hexBinary"), + + /** <tt>http://www.w3.org/2001/XMLSchema#ID</tt> */ + XSD_ID("http://www.w3.org/2001/XMLSchema#ID"), + + /** <tt>http://www.w3.org/2001/XMLSchema#IDREF</tt> */ + XSD_IDREF("http://www.w3.org/2001/XMLSchema#IDREF"), + + /** <tt>http://www.w3.org/2001/XMLSchema#IDREFS</tt> */ + XSD_IDREFS("http://www.w3.org/2001/XMLSchema#IDREFS"), + + /** <tt>http://www.w3.org/2001/XMLSchema#int</tt> */ + XSD_INT("http://www.w3.org/2001/XMLSchema#int"), + + /** <tt>http://www.w3.org/2001/XMLSchema#integer</tt> */ + XSD_INTEGER("http://www.w3.org/2001/XMLSchema#integer"), + + /** <tt>http://www.w3.org/2001/XMLSchema#language</tt> */ + XSD_LANGUAGE("http://www.w3.org/2001/XMLSchema#language"), + + /** <tt>http://www.w3.org/2001/XMLSchema#long</tt> */ + XSD_LONG("http://www.w3.org/2001/XMLSchema#long"), + + /** <tt>http://www.w3.org/2001/XMLSchema#Name</tt> */ + XSD_NAME("http://www.w3.org/2001/XMLSchema#Name"), + + /** <tt>http://www.w3.org/2001/XMLSchema#NCName</tt> */ + XSD_NCNAME("http://www.w3.org/2001/XMLSchema#NCName"), + + /** <tt>http://www.w3.org/2001/XMLSchema#negativeInteger</tt> */ + XSD_NEGATIVEINTEGER("http://www.w3.org/2001/XMLSchema#negativeInteger"), + + /** <tt>http://www.w3.org/2001/XMLSchema#NMTOKEN</tt> */ + XSD_NMTOKEN("http://www.w3.org/2001/XMLSchema#NMTOKEN"), + + /** <tt>http://www.w3.org/2001/XMLSchema#NMTOKENS</tt> */ + XSD_NMTOKENS("http://www.w3.org/2001/XMLSchema#NMTOKENS"), + + /** <tt>http://www.w3.org/2001/XMLSchema#nonNegativeInteger</tt> */ + XSD_NONNEGATIVEINTEGER( + "http://www.w3.org/2001/XMLSchema#nonNegativeInteger"), + + /** <tt>http://www.w3.org/2001/XMLSchema#nonPositiveInteger</tt> */ + XSD_NONPOSITIVEINTEGER( + "http://www.w3.org/2001/XMLSchema#nonPositiveInteger"), + + /** <tt>http://www.w3.org/2001/XMLSchema#normalizedString</tt> */ + XSD_NORMALIZEDSTRING("http://www.w3.org/2001/XMLSchema#normalizedString"), + + /** <tt>http://www.w3.org/2001/XMLSchema#NOTATION</tt> */ + XSD_NOTATION("http://www.w3.org/2001/XMLSchema#NOTATION"), + + /** <tt>http://www.w3.org/2001/XMLSchema#positiveInteger</tt> */ + XSD_POSITIVEINTEGER("http://www.w3.org/2001/XMLSchema#positiveInteger"), + + /** <tt>http://www.w3.org/2001/XMLSchema#QName</tt> */ + XSD_QNAME("http://www.w3.org/2001/XMLSchema#QName"), + + /** <tt>http://www.w3.org/2001/XMLSchema#short</tt> */ + XSD_SHORT("http://www.w3.org/2001/XMLSchema#short"), + + /** <tt>http://www.w3.org/2001/XMLSchema#string</tt> */ + XSD_STRING("http://www.w3.org/2001/XMLSchema#string"), + + /** <tt>http://www.w3.org/2001/XMLSchema#time</tt> */ + XSD_TIME("http://www.w3.org/2001/XMLSchema#time"), + + /** <tt>http://www.w3.org/2001/XMLSchema#token</tt> */ + XSD_TOKEN("http://www.w3.org/2001/XMLSchema#token"), + + /** <tt>http://www.w3.org/2001/XMLSchema#unsignedByte</tt> */ + XSD_UNSIGNEDBYTE("http://www.w3.org/2001/XMLSchema#unsignedByte"), + + /** <tt>http://www.w3.org/2001/XMLSchema#unsignedInt</tt> */ + XSD_UNSIGNEDINT("http://www.w3.org/2001/XMLSchema#unsignedInt"), + + /** <tt>http://www.w3.org/2001/XMLSchema#unsignedLong</tt> */ + XSD_UNSIGNEDLONG("http://www.w3.org/2001/XMLSchema#unsignedLong"), + + /** <tt>http://www.w3.org/2001/XMLSchema#unsignedShort</tt> */ + XSD_UNSIGNEDSHORT("http://www.w3.org/2001/XMLSchema#unsignedShort"), + + ; + + private final IRI field; + + Types(String field) { + this.field = new IRIImpl(field); + } + + @Override + public String getIRIString() { + return this.field.getIRIString(); + } + + @Override + public String ntriplesString() { + return this.field.ntriplesString(); + } +}
