Class FunctionGenerator

java.lang.Object
org.aksw.jenax.arq.functionbinder.FunctionGenerator

public class FunctionGenerator extends Object
Class for generation of wrappers for Java methods that make them usable as Functions in Jena's SPARQL engine.
Author:
raven
  • Field Details

    • typeMapper

      protected org.apache.jena.datatypes.TypeMapper typeMapper
    • converterRegistry

      protected org.aksw.commons.util.convert.ConverterRegistry converterRegistry
    • javaToRdfTypeMap

      protected Map<Class<?>,Class<?>> javaToRdfTypeMap
      Declarations for mapping java types to jena internal types For example, jts.Geometry map by remapped to jena.GeometryWrapper The cardinality is 1:1 - one input type can only map to one jena type
    • typeByClassOverrides

      protected Map<Class<?>,String> typeByClassOverrides
  • Constructor Details

    • FunctionGenerator

      public FunctionGenerator()
    • FunctionGenerator

      public FunctionGenerator(org.apache.jena.datatypes.TypeMapper typeMapper, org.aksw.commons.util.convert.ConverterRegistry converterRegistry, Map<Class<?>,Class<?>> returnTypeMap)
  • Method Details

    • getTypeByClassOverrides

      public Map<Class<?>,String> getTypeByClassOverrides()
    • getTypeMapper

      public org.apache.jena.datatypes.TypeMapper getTypeMapper()
    • getConverterRegistry

      public org.aksw.commons.util.convert.ConverterRegistry getConverterRegistry()
    • getJavaToRdfTypeMap

      public Map<Class<?>,Class<?>> getJavaToRdfTypeMap()
      A map for declaring forced conversions from a given input type to a target type. These conversions are applied before consulting jena's TypeMapper. If the target type is a sub-class of Node then the type mapper is not consulted because in that case the resulting type is already RDF.
      Returns:
      The map of forced conversions.
    • getPreConvert

      public org.aksw.commons.util.convert.ConvertFunctionRaw getPreConvert(Class<?> targetJavaType, Class<?> internalJavaType)
    • wrap

      public FunctionAdapter wrap(Method method)
    • wrap

      public FunctionAdapter wrap(Method method, Object invocationTarget)
      Pendant counterpart to Guava's: Iterators.getNext(Iterators.filter(Arrays.asList(arr).iterator(), type), null)
      Type Parameters:
      T -
      Parameters:
      arr -
      type -
      Returns:
    • createNodeValueMapper

      public static org.aksw.commons.util.convert.ConvertFunctionRaw createNodeValueMapper(Class<?> clz, org.aksw.commons.util.convert.ConverterRegistry converterRegistry, org.apache.jena.datatypes.TypeMapper typeMapper, Map<Class<?>,String> typeByClassOverrides)