diff --git a/impl.sparql/pom.xml b/impl.sparql/pom.xml index d1b4fdc..045465c 100644 --- a/impl.sparql/pom.xml +++ b/impl.sparql/pom.xml @@ -6,7 +6,7 @@ org.apache.clerezza clerezza - 1.0.0-SNAPSHOT + 7-SNAPSHOT diff --git a/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/LiteralImpl.java b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/LiteralImpl.java new file mode 100644 index 0000000..0de3b84 --- /dev/null +++ b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/LiteralImpl.java @@ -0,0 +1,82 @@ +/* + * 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.impl.utils; + +import java.io.Serializable; + +import org.apache.commons.rdf.Iri; +import org.apache.commons.rdf.Language; + +/** + * + * @author reto + */ +public class LiteralImpl extends AbstractLiteral implements Serializable { + private String lexicalForm; + private Iri dataType; + private int hashCode; + private Language language; + + /** + * @param lexicalForm + * @param dataType + * @param Language the language of this literal + */ + public LiteralImpl(String lexicalForm, Iri dataType, Language language) { + this.lexicalForm = lexicalForm; + this.dataType = dataType; + this.language = language; + this.hashCode = super.hashCode(); + } + + public Iri getDataType() { + return dataType; + } + + /* (non-Javadoc) + * @see org.apache.clerezza.rdf.core.LiteralNode#getLexicalForm() + */ + @Override + public String getLexicalForm() { + return lexicalForm; + } + + @Override + public int hashCode() { + return hashCode; + } + + + @Override + public String toString() { + StringBuffer result = new StringBuffer(); + result.append('\"'); + result.append(getLexicalForm()); + result.append('\"'); + result.append("^^"); + result.append(getDataType()); + return result.toString(); + } + + @Override + public Language getLanguage() { + return language; + } + +} diff --git a/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/PlainLiteralImpl.java b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/PlainLiteralImpl.java index 5dcbaf7..dec30db 100644 --- a/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/PlainLiteralImpl.java +++ b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/PlainLiteralImpl.java @@ -28,7 +28,7 @@ * * @author reto */ -public class PlainLiteralImpl implements Literal, Serializable { +public class PlainLiteralImpl extends AbstractLiteral implements Literal, Serializable { private String lexicalForm; private Language language = null; @@ -53,33 +53,6 @@ public String getLexicalForm() { return lexicalForm; } - @Override - public boolean equals(Object otherObj) { - if (!(otherObj instanceof Literal)) { - return false; - } - Literal other = (Literal) otherObj; - if (!lexicalForm.equals(other.getLexicalForm())) { - return false; - } - if (language != null) { - return language.equals(other.getLanguage()); - } - if (other.getLanguage() != null) { - return false; - } - return true; - } - - @Override - public int hashCode() { - int hash = lexicalForm.hashCode() + XSD_STRING_HASH; - if (language != null) { - hash += language.hashCode(); - } - return hash; - } - @Override public Language getLanguage() { return language; diff --git a/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/TypedLiteralImpl.java b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/TypedLiteralImpl.java index 45863ff..4d3ff9d 100644 --- a/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/TypedLiteralImpl.java +++ b/impl.utils/src/main/java/org/apache/commons/rdf/impl/utils/TypedLiteralImpl.java @@ -40,7 +40,7 @@ public class TypedLiteralImpl extends AbstractLiteral implements Serializable { public TypedLiteralImpl(String lexicalForm, Iri dataType) { this.lexicalForm = lexicalForm; this.dataType = dataType; - this.hashCode = lexicalForm.hashCode()+dataType.hashCode(); + this.hashCode = super.hashCode(); } public Iri getDataType() {