Class JenaPluginUtils

java.lang.Object
org.aksw.jenax.reprogen.core.JenaPluginUtils

public class JenaPluginUtils extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static TypeDeciderImpl
    The type decider can decide for a given RDFNode whether a certain class can act as a view for it for a given view write out those triples to an RDFNode such that the type decider will consider the original view as applicable If you get an exception on typeDecider such as java.lang.NullPointerException ensure to call JenaSystem.init() before calling methods on this class
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <I extends org.apache.jena.rdf.model.RDFNode, O extends org.apache.jena.rdf.model.RDFNode, C extends Collection<O>>
    O
    addNew(I in, Class<O> clz, Function<? super I,C> getCollection)
     
    static <I extends org.apache.jena.rdf.model.RDFNode, X extends org.apache.jena.rdf.model.RDFNode, C>
    X
    addNewCore(I in, Class<X> clz, Supplier<C> getter, BiFunction<C,X,?> adder)
     
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    copyClosureInto(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
    Copy only the triples of the closure of the given rdf node into the target model and return the result of a polymorphic cast
    static <T extends org.apache.jena.rdf.model.Resource>
    T
    copyInto(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
    Copy all triples of the given rdf node into the target model and return the result of a polymorphic cast
    static org.apache.jena.enhanced.Implementation
     
    static org.apache.jena.enhanced.Implementation
    createImplementation(Class<?> clazz, org.apache.jena.shared.PrefixMapping pm)
     
    static org.apache.jena.enhanced.Implementation
    createProxyImplementation(boolean lazy, Class<?> clazz, Supplier<org.apache.jena.shared.PrefixMapping> pm)
     
    static <I extends org.apache.jena.rdf.model.RDFNode, O extends org.apache.jena.rdf.model.RDFNode>
    O
    getOrSet(I in, Class<O> clz, Supplier<? extends O> getter, Function<? super O,?> setter)
    Utility method for easing implementations of 'getOrSet' default methods on resource views.
     
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    inModel(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
     
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode)
    Cast an RDFNode to a given view w.r.t.
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode, Class<T> viewClass)
    Cast an RDFNode to a given view w.r.t.
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode, Class<T> viewClass, TypeDecider typeDecider)
     
    static <T extends org.apache.jena.rdf.model.RDFNode>
    T
    reachableClosure(T rdfNode, Class<T> viewClass)
     
    static void
    registerResourceClass(boolean lazy, Class<?> clazz, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, Supplier<org.apache.jena.shared.PrefixMapping> pm)
     
    static void
    registerResourceClass(Class<? extends org.apache.jena.rdf.model.Resource> inter, Class<?> impl)
     
    static void
    registerResourceClasses(boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
     
    static void
    registerResourceClasses(boolean lazy, Iterable<Class<?>> classes)
     
    static void
    registerResourceClasses(Class<? extends org.apache.jena.rdf.model.Resource>... classes)
     
    static void
     
    static void
    registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
     
    static void
    registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Iterable<Class<?>> classes)
     
    static void
    registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
     
    static void
    registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Iterable<Class<?>> classes)
     
    static void
    scan(Class<?> prototypeClass)
     
    static void
    scan(String basePackage)
     
    static void
    scan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p)
     
    static void
    scan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, org.apache.jena.shared.PrefixMapping pm)
     
    static boolean
    Returns true if any method is annotated with Iri or IriNs.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • typeDecider

      protected static TypeDeciderImpl typeDecider
      The type decider can
      • decide for a given RDFNode whether a certain class can act as a view for it
      • for a given view write out those triples to an RDFNode such that the type decider will consider the original view as applicable
      If you get an exception on typeDecider such as java.lang.NullPointerException ensure to call JenaSystem.init() before calling methods on this class
  • Constructor Details

    • JenaPluginUtils

      public JenaPluginUtils()
  • Method Details

    • polymorphicCast

      public static <T extends org.apache.jena.rdf.model.RDFNode> T polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode, Class<T> viewClass, TypeDecider typeDecider)
    • polymorphicCast

      public static <T extends org.apache.jena.rdf.model.RDFNode> T polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode, Class<T> viewClass)
      Cast an RDFNode to a given view w.r.t. types registered in the global TypeDecider
      Type Parameters:
      T -
      Parameters:
      rdfNode -
      viewClass -
      Returns:
    • polymorphicCast

      public static <T extends org.apache.jena.rdf.model.RDFNode> T polymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode)
      Cast an RDFNode to a given view w.r.t. types registered in the global TypeDecider
      Type Parameters:
      T -
      Parameters:
      rdfNode -
      Returns:
    • inModel

      public static <T extends org.apache.jena.rdf.model.RDFNode> T inModel(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
    • copyInto

      public static <T extends org.apache.jena.rdf.model.Resource> T copyInto(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
      Copy all triples of the given rdf node into the target model and return the result of a polymorphic cast
      Type Parameters:
      T -
      Parameters:
      rdfNode -
      viewClass -
      target -
      Returns:
    • copyClosureInto

      public static <T extends org.apache.jena.rdf.model.RDFNode> T copyClosureInto(T rdfNode, Class<T> viewClass, org.apache.jena.rdf.model.Model target)
      Copy only the triples of the closure of the given rdf node into the target model and return the result of a polymorphic cast
      Type Parameters:
      T -
      Parameters:
      rdfNode -
      viewClass -
      target -
      Returns:
    • reachableClosure

      public static <T extends org.apache.jena.rdf.model.RDFNode> T reachableClosure(T rdfNode, Class<T> viewClass)
    • getTypeDecider

      public static TypeDecider getTypeDecider()
    • scan

      public static void scan(Class<?> prototypeClass)
    • scan

      public static void scan(String basePackage)
    • scan

      public static void scan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p)
    • scan

      public static void scan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, org.apache.jena.shared.PrefixMapping pm)
    • registerResourceClasses

      @SafeVarargs public static void registerResourceClasses(Class<? extends org.apache.jena.rdf.model.Resource>... classes)
    • registerResourceClasses

      public static void registerResourceClasses(Iterable<Class<?>> classes)
    • registerResourceClasses

      @SafeVarargs public static void registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
    • registerResourceClasses

      public static void registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Iterable<Class<?>> classes)
    • registerResourceClasses

      @SafeVarargs public static void registerResourceClasses(boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
    • registerResourceClasses

      public static void registerResourceClasses(boolean lazy, Iterable<Class<?>> classes)
    • registerResourceClasses

      @SafeVarargs public static void registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes)
    • registerResourceClasses

      public static void registerResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Iterable<Class<?>> classes)
    • registerResourceClass

      public static void registerResourceClass(Class<? extends org.apache.jena.rdf.model.Resource> inter, Class<?> impl)
    • createDirectImplementation

      public static org.apache.jena.enhanced.Implementation createDirectImplementation(Class<?> clazz)
    • createProxyImplementation

      public static org.apache.jena.enhanced.Implementation createProxyImplementation(boolean lazy, Class<?> clazz, Supplier<org.apache.jena.shared.PrefixMapping> pm)
    • createImplementation

      public static org.apache.jena.enhanced.Implementation createImplementation(Class<?> clazz, org.apache.jena.shared.PrefixMapping pm)
    • registerResourceClass

      public static void registerResourceClass(boolean lazy, Class<?> clazz, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, Supplier<org.apache.jena.shared.PrefixMapping> pm)
    • supportsProxying

      public static boolean supportsProxying(Class<?> clazz)
      Returns true if any method is annotated with Iri or IriNs.
      Parameters:
      clazz -
      Returns:
    • getOrSet

      public static <I extends org.apache.jena.rdf.model.RDFNode, O extends org.apache.jena.rdf.model.RDFNode> O getOrSet(I in, Class<O> clz, Supplier<? extends O> getter, Function<? super O,?> setter)
      Utility method for easing implementations of 'getOrSet' default methods on resource views. Example usage:
       
       class QualifiedDerivation {
         @Iri(ProvTerms.hadActivity)
         Activity getHadActivity();
         QualifiedDerivation setHadActivity(Resource activity);
      
         default Activity getOrSetHadActivity() {
           return JenaPluginUtils.getOrSet(this, Activity.class, this::getHadActivity, this::setHadActivity);
         }
       }
       
       
      Type Parameters:
      I -
      O -
      Parameters:
      in -
      clz -
      getter -
      setter -
      Returns:
    • addNew

      public static <I extends org.apache.jena.rdf.model.RDFNode, O extends org.apache.jena.rdf.model.RDFNode, C extends Collection<O>> O addNew(I in, Class<O> clz, Function<? super I,C> getCollection)
    • addNewCore

      public static <I extends org.apache.jena.rdf.model.RDFNode, X extends org.apache.jena.rdf.model.RDFNode, C> X addNewCore(I in, Class<X> clz, Supplier<C> getter, BiFunction<C,X,?> adder)