Class MemValueFactory

  • All Implemented Interfaces:
    ValueFactory

    public class MemValueFactory
    extends 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​(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​(Resource resource)
        See getMemValue() for description.
      • getMemURI

        public MemIRI getMemURI​(IRI uri)
        See getMemValue() for description.
      • getMemBNode

        public MemBNode getMemBNode​(BNode bnode)
        See getMemValue() for description.
      • getMemLiteral

        public MemLiteral getMemLiteral​(Literal literal)
        See getMemValue() for description.
      • getMemURIs

        @Deprecated(forRemoval=true,
                    since="4.0.0")
        public Set<MemIRI> getMemURIs()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use getMemIRIsIterator() instead.
        Gets all URIs that are managed by this value factory.

        Warning: This method is not synchronized.

        Returns:
        An unmodifiable Set of MemURI objects.
      • getMemBNodes

        @Deprecated(forRemoval=true,
                    since="4.0.0")
        public Set<MemBNode> getMemBNodes()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use getMemBNodesIterator() instead.
        Gets all bnodes that are managed by this value factory.

        Warning: This method is not synchronized.

        Returns:
        An unmodifiable Set of MemBNode objects.
      • getMemLiterals

        @Deprecated(forRemoval=true,
                    since="4.0.0")
        public Set<MemLiteral> getMemLiterals()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use getMemLiteralsIterator() instead.
        Gets all literals that are managed by this value factory.

        Warning: This method is not synchronized.

        Returns:
        An unmodifiable Set of MemURI objects.
      • getOrCreateMemValue

        public MemValue getOrCreateMemValue​(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 IRI createIRI​(String uri)
        Description copied from interface: ValueFactory
        Creates a new IRI from the supplied string-representation.
        Specified by:
        createIRI in interface ValueFactory
        Overrides:
        createIRI in class AbstractValueFactory
        Parameters:
        uri - A string-representation of a IRI.
        Returns:
        An object representing the IRI.
      • createLiteral

        public Literal createLiteral​(String value,
                                     IRI datatype)
        Description copied from interface: ValueFactory
        Creates a new literal with the supplied label and datatype.
        Specified by:
        createLiteral in interface ValueFactory
        Overrides:
        createLiteral in class AbstractValueFactory
        Parameters:
        value - The literal's label, must not be null.
        datatype - The literal's datatype. If it is null, the datatype xsd:string will be assigned to this literal.
        Returns:
        A literal for the specified value and type.
      • createLiteral

        public Literal createLiteral​(boolean value)
        Description copied from interface: ValueFactory
        Creates a new xsd:boolean-typed literal representing the specified value.
        Specified by:
        createLiteral in interface ValueFactory
        Overrides:
        createLiteral in class AbstractValueFactory
        Parameters:
        value - The value for the literal.
        Returns:
        An xsd:boolean-typed literal for the specified value.