package org.aksw.jena_sparql_api.mapper.impl.type; import org.aksw.jena_sparql_api.mapper.model.RdfTypeFactory; import org.apache.jena.datatypes.RDFDatatype; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; import org.apache.jena.rdf.model.RDFNode; public class RdfTypeLiteralTyped extends RdfTypePrimitiveBase { protected RDFDatatype rdfDatatype; public RdfTypeLiteralTyped(RdfTypeFactory typeFactory, RDFDatatype rdfDatatype) { super(); this.rdfDatatype = rdfDatatype; } // public RdfTypeLiteralTyped(RdfTypeFactory typeFactory, RDFDatatype rdfDatatype) { // super(typeFactory); // this.rdfDatatype = rdfDatatype; // } @Override public Class<?> getEntityClass() { return rdfDatatype.getJavaClass(); } // @Override // public void exposeShape(ResourceShapeBuilder rsb) { // // TODO Auto-generated method stub // // } // @Override // public void populateBean(RdfPopulationContext populationContext, Object targetObj, Graph ) { // // TODO Auto-generated method stub // // } @Override public Node getRootNode(Object entity) { String lex = rdfDatatype.unparse(entity); Node result = NodeFactory.createLiteral(lex, rdfDatatype); return result; } @Override public Object createJavaObject(RDFNode node) { Object result = node.asNode().getLiteralValue(); return result; } @Override public String toString() { return "RdfTypeLiteralTyped [rdfDatatype=" + rdfDatatype + "]"; } @Override public boolean hasIdentity() { return false; } }