Class MemIRI

java.lang.Object
org.eclipse.rdf4j.sail.memory.model.MemResource
org.eclipse.rdf4j.sail.memory.model.MemIRI
All Implemented Interfaces:
Serializable, IRI, Resource, Value, MemValue

public class MemIRI extends MemResource implements IRI
A MemoryStore-specific implementation of URI that stores separated namespace and local name information to enable reuse of namespace String objects (reducing memory usage) and that gives it node properties.
See Also:
  • Constructor Details

    • MemIRI

      public MemIRI(Object creator, String namespace, String localName)
      Creates a new MemURI for a URI.
      Parameters:
      creator - The object that is creating this MemURI.
      namespace - namespace part of URI.
      localName - localname part of URI.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • stringValue

      public String stringValue()
      Description copied from interface: Value
      Returns the String-value of a Value object. This returns either a Literal's label, a IRI's URI or a BNode's ID.
      Specified by:
      stringValue in interface Value
    • getNamespace

      public String getNamespace()
      Description copied from interface: IRI
      Gets the namespace part of this IRI.

      The namespace is defined as per the algorithm described in the class documentation.

      Specified by:
      getNamespace in interface IRI
      Returns:
      the namespace of this IRI
    • getLocalName

      public String getLocalName()
      Description copied from interface: IRI
      Gets the local name part of this IRI.

      The local name is defined as per the algorithm described in the class documentation.

      Specified by:
      getLocalName in interface IRI
      Returns:
      the local name of this IRI
    • equals

      public boolean equals(Object o)
      Description copied from interface: IRI
      Compares this IRI to another object.
      Specified by:
      equals in interface IRI
      Overrides:
      equals in class Object
      Parameters:
      o - the object to compare this IRI to
      Returns:
      true, if the other object is an instance of IRI and their string values are equal; false, otherwise
    • hashCode

      public int hashCode()
      Description copied from interface: IRI
      Computes the hash code of this IRI.
      Specified by:
      hashCode in interface IRI
      Overrides:
      hashCode in class Object
      Returns:
      a hash code for this IRI computed as Value.stringValue().hashCode()
    • getCreator

      public Object getCreator()
      Description copied from interface: MemValue
      Returns the object that created this MemValue. MemValues are only unique within a single repository, but an application could use several repositories at the same time, passing MemValues generated by one Sail to another Sail. In such situations, the MemValue of the first Sail cannot be used by the second Sail.
      Specified by:
      getCreator in interface MemValue
    • hasStatements

      public boolean hasStatements()
      Description copied from interface: MemValue
      Checks whether this MemValue has any statements. A MemValue object has statements if there is at least one statement where it is used as the subject, predicate, object or context value.
      Specified by:
      hasStatements in interface MemValue
      Returns:
      true if the MemValue has statements, false otherwise.
    • getPredicateStatementList

      public MemStatementList getPredicateStatementList()
      Gets the list of statements for which this MemURI is the predicate.
      Returns:
      a MemStatementList containing the statements.
    • getPredicateStatementCount

      public int getPredicateStatementCount()
      Gets the number of Statements for which this MemURI is the predicate.
      Returns:
      An integer larger than or equal to 0.
    • addPredicateStatement

      public void addPredicateStatement(MemStatement st) throws InterruptedException
      Adds a statement to this MemURI's list of statements for which it is the predicate.
      Throws:
      InterruptedException
    • cleanSnapshotsFromPredicateStatements

      public void cleanSnapshotsFromPredicateStatements(int currentSnapshot) throws InterruptedException
      Removes statements from old snapshots (those that have expired at or before the specified snapshot version) from this MemValue's list of statements for which it is the predicate.
      Parameters:
      currentSnapshot - The current snapshot version.
      Throws:
      InterruptedException
    • getObjectStatementList

      public MemStatementList getObjectStatementList()
      Description copied from interface: MemValue
      Gets the list of statements for which this MemValue is the object.
      Specified by:
      getObjectStatementList in interface MemValue
      Returns:
      A MemStatementList containing the statements.
    • getObjectStatementCount

      public int getObjectStatementCount()
      Description copied from interface: MemValue
      Gets the number of statements for which this MemValue is the object.
      Specified by:
      getObjectStatementCount in interface MemValue
      Returns:
      An integer larger than or equal to 0.
    • addObjectStatement

      public void addObjectStatement(MemStatement st) throws InterruptedException
      Description copied from interface: MemValue
      Adds a statement to this MemValue's list of statements for which it is the object.
      Specified by:
      addObjectStatement in interface MemValue
      Throws:
      InterruptedException
    • cleanSnapshotsFromObjectStatements

      public void cleanSnapshotsFromObjectStatements(int currentSnapshot) throws InterruptedException
      Description copied from interface: MemValue
      Removes statements from old snapshots (those that have expired at or before the specified snapshot version) from this MemValue's list of statements for which it is the object.
      Specified by:
      cleanSnapshotsFromObjectStatements in interface MemValue
      Parameters:
      currentSnapshot - The current snapshot version.
      Throws:
      InterruptedException
    • hasPredicateStatements

      public boolean hasPredicateStatements()
      Specified by:
      hasPredicateStatements in interface MemValue
    • hasObjectStatements

      public boolean hasObjectStatements()
      Specified by:
      hasObjectStatements in interface MemValue