package org.aksw.jena_sparql_api.mapper.context; import org.aksw.jena_sparql_api.util.frontier.Frontier; import org.apache.jena.graph.Node; public interface RdfEmitterContext { /** * Notify the context about a bean that needs to be emitted * @param bean */ //void add(Node node, Object entity); /** * Return a corresponding node for the given entity * * Note: The emitter context SPI does not enforce a particular strategy on how to obtain a node. * One implementation could directly query the backend and return the final node, * whereas other implementations could return placeholders which are resolved at a later stage. * * * * @param entity * @return */ /** * Obtain a node that corresponds to the given entity * * @param entity * @return */ //Node getEntityNode(Object entity); /** * Obtain a node for a specific property value of an entity * * @param entity * @param propertyName * @return */ //Node getValueNode(Object entity, String propertyName, Object value); /** * Resolve an entity to a node using default strategies * * @param entity * @return */ Node requestResolution(Object entity); /** * Resolve an entity * * @param entity * @return */ // Node requestResolution(Object entity, Node); /** * * * @param iriGenerator Used to generate an IRI if none allocated in the persistence context * @return */ //Node requestResolution(Object entity, RdfType rdfType, Supplier<Node> iriGenerator); //public Node requestResolution(Node subject, Directed<Node> property, Object entity, RdfType rdfType, Supplier<Node> iriGenerator); //void add(Object entity, Object parentBean, String propertyName); boolean isEmitted(Object entity); void setEmitted(Object entity, boolean status); Frontier<Object> getFrontier(); }