Class MemValueFactory

  • All Implemented Interfaces:
    org.eclipse.rdf4j.model.ValueFactory

    public class MemValueFactory
    extends org.eclipse.rdf4j.model.base.AbstractValueFactory
    A factory for MemValue objects that keeps track of created objects to prevent the creation of duplicate objects, minimizing memory usage as a result.
    Author:
    Arjohn Kampman, David Huynh
    • Constructor Detail

      • MemValueFactory

        public MemValueFactory()
        A cache of the most common IRIs to improve lookup performance when users use our vocabularies (eg. RDF.TYPE).
    • Method Detail

      • clear

        public void clear()
      • getMemValue

        public MemValue getMemValue​(org.eclipse.rdf4j.model.Value value)
        Returns a previously created MemValue that is equal to the supplied value, or null if the supplied value is a new value or is equal to null.
        Parameters:
        value - The MemValue equivalent of the supplied value, or null.
        Returns:
        A previously created MemValue that is equal to value, or null if no such value exists or if value is equal to null.
      • getMemResource

        public MemResource getMemResource​(org.eclipse.rdf4j.model.Resource resource)
        See getMemValue() for description.
      • getMemURI

        public MemIRI getMemURI​(org.eclipse.rdf4j.model.IRI uri)
        See getMemValue() for description.
      • getMemBNode

        public MemBNode getMemBNode​(org.eclipse.rdf4j.model.BNode bnode)
        See getMemValue() for description.
      • getMemLiteral

        public MemLiteral getMemLiteral​(org.eclipse.rdf4j.model.Literal literal)
        See getMemValue() for description.
      • getOrCreateMemValue

        public MemValue getOrCreateMemValue​(org.eclipse.rdf4j.model.Value value)
        Gets or creates a MemValue for the supplied Value. If the factory already contains a MemValue object that is equivalent to the supplied value then this equivalent value will be returned. Otherwise a new MemValue will be created, stored for future calls and then returned.
        Parameters:
        value - A Resource or Literal.
        Returns:
        The existing or created MemValue.
      • createIRI

        public org.eclipse.rdf4j.model.IRI createIRI​(String uri)
        Specified by:
        createIRI in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createIRI in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createIRI

        public org.eclipse.rdf4j.model.IRI createIRI​(String namespace,
                                                     String localName)
        Specified by:
        createIRI in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createIRI in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createBNode

        public org.eclipse.rdf4j.model.BNode createBNode​(String nodeID)
        Specified by:
        createBNode in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createBNode in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(String value)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(String value,
                                                             String language)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(String value,
                                                             org.eclipse.rdf4j.model.IRI datatype)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(String value,
                                                             org.eclipse.rdf4j.model.base.CoreDatatype datatype)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(boolean value)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createLiteral

        public org.eclipse.rdf4j.model.Literal createLiteral​(XMLGregorianCalendar calendar)
        Specified by:
        createLiteral in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createLiteral in class org.eclipse.rdf4j.model.base.AbstractValueFactory
      • createTriple

        public org.eclipse.rdf4j.model.Triple createTriple​(org.eclipse.rdf4j.model.Resource subject,
                                                           org.eclipse.rdf4j.model.IRI predicate,
                                                           org.eclipse.rdf4j.model.Value object)
        Specified by:
        createTriple in interface org.eclipse.rdf4j.model.ValueFactory
        Overrides:
        createTriple in class org.eclipse.rdf4j.model.base.AbstractValueFactory