Package org.aksw.jenax.reprogen.core
Class JenaPluginUtils
java.lang.Object
org.aksw.jenax.reprogen.core.JenaPluginUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static TypeDeciderImplThe 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 -
Method Summary
Modifier and TypeMethodDescriptionstatic <I extends org.apache.jena.rdf.model.RDFNode,O extends org.apache.jena.rdf.model.RDFNode, C extends Collection<O>>
Ostatic <I extends org.apache.jena.rdf.model.RDFNode,X extends org.apache.jena.rdf.model.RDFNode, C>
XaddNewCore(I in, Class<X> clz, Supplier<C> getter, BiFunction<C, X, ?> adder) static <T extends org.apache.jena.rdf.model.RDFNode>
TcopyClosureInto(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 caststatic <T extends org.apache.jena.rdf.model.Resource>
TCopy all triples of the given rdf node into the target model and return the result of a polymorphic caststatic org.apache.jena.enhanced.ImplementationcreateDirectImplementation(Class<?> clazz) static org.apache.jena.enhanced.ImplementationcreateImplementation(Class<?> clazz, org.apache.jena.shared.PrefixMapping pm) static org.apache.jena.enhanced.ImplementationcreateProxyImplementation(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>
OUtility method for easing implementations of 'getOrSet' default methods on resource views.static TypeDeciderstatic <T extends org.apache.jena.rdf.model.RDFNode>
Tstatic <T extends org.apache.jena.rdf.model.RDFNode>
TpolymorphicCast(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>
TpolymorphicCast(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>
TpolymorphicCast(org.apache.jena.rdf.model.RDFNode rdfNode, Class<T> viewClass, TypeDecider typeDecider) static <T extends org.apache.jena.rdf.model.RDFNode>
TreachableClosure(T rdfNode, Class<T> viewClass) static voidregisterResourceClass(boolean lazy, Class<?> clazz, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, Supplier<org.apache.jena.shared.PrefixMapping> pm) static voidregisterResourceClass(Class<? extends org.apache.jena.rdf.model.Resource> inter, Class<?> impl) static voidregisterResourceClasses(boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes) static voidregisterResourceClasses(boolean lazy, Iterable<Class<?>> classes) static voidregisterResourceClasses(Class<? extends org.apache.jena.rdf.model.Resource>... classes) static voidregisterResourceClasses(Iterable<Class<?>> classes) static voidregisterResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes) static voidregisterResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, boolean lazy, Iterable<Class<?>> classes) static voidregisterResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Class<? extends org.apache.jena.rdf.model.Resource>... classes) static voidregisterResourceClasses(org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> personality, Iterable<Class<?>> classes) static voidstatic voidstatic voidstatic voidscan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p, org.apache.jena.shared.PrefixMapping pm) static booleansupportsProxying(Class<?> clazz) Returns true if any method is annotated withIriorIriNs.
-
Field Details
-
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
-
-
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
-
scan
-
scan
-
scan
public static void scan(String basePackage, org.apache.jena.enhanced.Personality<org.apache.jena.rdf.model.RDFNode> p) -
registerResourceClasses
@SafeVarargs public static void registerResourceClasses(Class<? extends org.apache.jena.rdf.model.Resource>... classes) -
registerResourceClasses
-
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
-
registerResourceClasses
@SafeVarargs public static void registerResourceClasses(boolean lazy, Class<? extends org.apache.jena.rdf.model.Resource>... classes) -
registerResourceClasses
-
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
-
registerResourceClass
-
createDirectImplementation
-
createProxyImplementation
-
registerResourceClass
-
supportsProxying
Returns true if any method is annotated withIriorIriNs.- 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, O addNewC extends Collection<O>> (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, X addNewCoreC> (I in, Class<X> clz, Supplier<C> getter, BiFunction<C, X, ?> adder)
-