Interface JsonProvider

Type Parameters:
K - The key type of objects. The type correspondences are strings for JSON and RDF terms for RON.
V - The type of values contained in literals. Typically object for JSON and RDF term for RON. If we allowed a V type, then we'd need a Java-to-V mapper, such as Object-to-Node.
All Known Implementing Classes:
JsonProviderOverJsonPath

public interface JsonProvider
Abstraction akin to JSONPath's JsonProvidere. There are subtle differences between JSON and RON: In RON, keys and literals are all RDF terms.
  • Method Details

    • newObject

      Object newObject()
    • isObject

      boolean isObject(Object obj)
    • getObjectId

      org.apache.jena.graph.Node getObjectId(Object obj)
      Get the id of an object. Can be thought of as extracting the @id attribute of a JSON-LD object.
    • setProperty

      void setProperty(Object obj, String p, Object value)
    • getProperty

      Object getProperty(Object obj, String p)
    • removeProperty

      void removeProperty(Object obj, String p)
    • computePropertyIfAbsent

      default Object computePropertyIfAbsent(Object obj, String p, Function<String,Object> fn)
    • getOrCreateObject

      default Object getOrCreateObject(Object parent, String p)
    • ensureValidJson

      void ensureValidJson(Object obj)
    • newArray

      Object newArray()
    • isArray

      boolean isArray(Object obj)
    • addElement

      void addElement(Object arr, Object value)
    • setElement

      void setElement(Object arr, int index, Object value)
    • removeElement

      void removeElement(Object arr, int index)
    • newLiteral

      Object newLiteral(String value)
    • newLiteral

      Object newLiteral(boolean value)
    • newLiteral

      Object newLiteral(long value)
    • newLiteral

      Object newLiteral(double value)
    • newLiteral

      Object newLiteral(BigDecimal value)
    • isLiteral

      boolean isLiteral(Object obj)
    • getLiteral

      org.apache.jena.graph.Node getLiteral(Object obj)
    • newNull

      Object newNull()
    • isNull

      boolean isNull(Object obj)