package org.aksw.jena_sparql_api.sparql.ext.datatypes; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.apache.jena.datatypes.xsd.XSDDateTime; import org.apache.jena.datatypes.xsd.impl.XSDDateTimeType; public class RDFDatatypeDate extends RDFDatatypeDelegate { protected Class<?> clazz; public RDFDatatypeDate() { super(new XSDDateTimeType("dateTime")); this.clazz = Date.class; } @Override public Class<?> getJavaClass() { return clazz; } public String unparse(Object value) { Date date = (Date) value; Calendar cal = new GregorianCalendar(); cal.setTime(date); XSDDateTime tmp = new XSDDateTime(cal); String result = super.unparse(tmp); return result; } @Override public Object parse(String lexicalForm) { Object tmp = super.parse(lexicalForm); XSDDateTime xsd = (XSDDateTime) tmp; Calendar cal = xsd.asCalendar(); Date result = cal.getTime(); return result; } }