Class MemValueFactory
- java.lang.Object
-
- org.eclipse.rdf4j.model.base.AbstractValueFactory
-
- org.eclipse.rdf4j.sail.memory.model.MemValueFactory
-
- All Implemented Interfaces:
org.eclipse.rdf4j.model.ValueFactory
public class MemValueFactory extends org.eclipse.rdf4j.model.base.AbstractValueFactoryA 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 Summary
Constructors Constructor Description MemValueFactory()A cache of the most common IRIs to improve lookup performance when users use our vocabularies (eg.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()org.eclipse.rdf4j.model.BNodecreateBNode(String nodeID)org.eclipse.rdf4j.model.IRIcreateIRI(String uri)org.eclipse.rdf4j.model.IRIcreateIRI(String namespace, String localName)org.eclipse.rdf4j.model.LiteralcreateLiteral(boolean value)org.eclipse.rdf4j.model.LiteralcreateLiteral(String value)org.eclipse.rdf4j.model.LiteralcreateLiteral(String value, String language)org.eclipse.rdf4j.model.LiteralcreateLiteral(String value, org.eclipse.rdf4j.model.base.CoreDatatype datatype)org.eclipse.rdf4j.model.LiteralcreateLiteral(String value, org.eclipse.rdf4j.model.IRI datatype)org.eclipse.rdf4j.model.LiteralcreateLiteral(XMLGregorianCalendar calendar)org.eclipse.rdf4j.model.TriplecreateTriple(org.eclipse.rdf4j.model.Resource subject, org.eclipse.rdf4j.model.IRI predicate, org.eclipse.rdf4j.model.Value object)MemBNodegetMemBNode(org.eclipse.rdf4j.model.BNode bnode)See getMemValue() for description.WeakObjectRegistry.AutoCloseableIterator<MemBNode>getMemBNodesIterator()Gets all bnodes that are managed by this value factory.WeakObjectRegistry.AutoCloseableIterator<MemIRI>getMemIRIsIterator()Gets all URIs that are managed by this value factory.MemLiteralgetMemLiteral(org.eclipse.rdf4j.model.Literal literal)See getMemValue() for description.WeakObjectRegistry.AutoCloseableIterator<MemLiteral>getMemLiteralsIterator()Gets all literals that are managed by this value factory.MemResourcegetMemResource(org.eclipse.rdf4j.model.Resource resource)See getMemValue() for description.MemIRIgetMemURI(org.eclipse.rdf4j.model.IRI uri)See getMemValue() for description.MemValuegetMemValue(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.MemBNodegetOrCreateMemBNode(org.eclipse.rdf4j.model.BNode bnode)SeegetOrCreateMemValue(Value)for description.MemLiteralgetOrCreateMemLiteral(org.eclipse.rdf4j.model.Literal literal)SeegetOrCreateMemValue(Value)for description.MemResourcegetOrCreateMemResource(org.eclipse.rdf4j.model.Resource resource)SeegetOrCreateMemValue(Value)for description.MemTriplegetOrCreateMemTriple(org.eclipse.rdf4j.model.Triple triple)SeegetOrCreateMemValue(Value)for description.MemIRIgetOrCreateMemURI(org.eclipse.rdf4j.model.IRI uri)SeegetOrCreateMemValue(Value)for description.MemValuegetOrCreateMemValue(org.eclipse.rdf4j.model.Value value)Gets or creates a MemValue for the supplied Value.-
Methods inherited from class org.eclipse.rdf4j.model.base.AbstractValueFactory
createBNode, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createStatement, createStatement
-
-
-
-
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.
-
getMemIRIsIterator
public WeakObjectRegistry.AutoCloseableIterator<MemIRI> getMemIRIsIterator()
Gets all URIs that are managed by this value factory.- Returns:
- An autocloseable iterator.
-
getMemBNodesIterator
public WeakObjectRegistry.AutoCloseableIterator<MemBNode> getMemBNodesIterator()
Gets all bnodes that are managed by this value factory.- Returns:
- An autocloseable iterator.
-
getMemLiteralsIterator
public WeakObjectRegistry.AutoCloseableIterator<MemLiteral> getMemLiteralsIterator()
Gets all literals that are managed by this value factory.- Returns:
- An autocloseable iterator.
-
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.
-
getOrCreateMemResource
public MemResource getOrCreateMemResource(org.eclipse.rdf4j.model.Resource resource)
SeegetOrCreateMemValue(Value)for description.
-
getOrCreateMemURI
public MemIRI getOrCreateMemURI(org.eclipse.rdf4j.model.IRI uri)
SeegetOrCreateMemValue(Value)for description.
-
getOrCreateMemBNode
public MemBNode getOrCreateMemBNode(org.eclipse.rdf4j.model.BNode bnode)
SeegetOrCreateMemValue(Value)for description.
-
getOrCreateMemLiteral
public MemLiteral getOrCreateMemLiteral(org.eclipse.rdf4j.model.Literal literal)
SeegetOrCreateMemValue(Value)for description.
-
getOrCreateMemTriple
public MemTriple getOrCreateMemTriple(org.eclipse.rdf4j.model.Triple triple)
SeegetOrCreateMemValue(Value)for description.
-
createIRI
public org.eclipse.rdf4j.model.IRI createIRI(String uri)
- Specified by:
createIRIin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createIRIin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createIRI
public org.eclipse.rdf4j.model.IRI createIRI(String namespace, String localName)
- Specified by:
createIRIin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createIRIin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createBNode
public org.eclipse.rdf4j.model.BNode createBNode(String nodeID)
- Specified by:
createBNodein interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createBNodein classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(String value)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(String value, String language)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(String value, org.eclipse.rdf4j.model.IRI datatype)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(String value, org.eclipse.rdf4j.model.base.CoreDatatype datatype)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(boolean value)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
createLiteral
public org.eclipse.rdf4j.model.Literal createLiteral(XMLGregorianCalendar calendar)
- Specified by:
createLiteralin interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createLiteralin classorg.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:
createTriplein interfaceorg.eclipse.rdf4j.model.ValueFactory- Overrides:
createTriplein classorg.eclipse.rdf4j.model.base.AbstractValueFactory
-
-