Package org.eclipse.rdf4j.sail.memory.model

## Class MemIRI

- java.lang.Object
- - org.eclipse.rdf4j.sail.memory.model.MemIRI

- All Implemented Interfaces:
    `Serializable`, `IRI`, `Resource`, `Value`, `MemResource`, `MemValue`

      public class MemIRI
      extends Object
      implements IRI, MemResource

  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:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.eclipse.rdf4j.sail.memory.model.MemValue

      `EMPTY_LIST`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MemIRI​(Object creator, String namespace, String localName)` | Creates a new MemURI for a URI.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addContextStatement​(MemStatement st)` | Adds a statement to this MemResource's list of statements for which it represents the context.
    `void` | `addObjectStatement​(MemStatement st)` | Adds a statement to this MemValue's list of statements for which it is the object.
    `void` | `addPredicateStatement​(MemStatement st)` | Adds a statement to this MemURI's list of statements for which it is the predicate.
    `void` | `addSubjectStatement​(MemStatement st)` | Adds a statement to this MemResource's list of statements for which it is the subject.
    `void` | `cleanSnapshotsFromContextStatements​(int currentSnapshot)` | 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 context.
    `void` | `cleanSnapshotsFromObjectStatements​(int currentSnapshot)` | 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.
    `void` | `cleanSnapshotsFromPredicateStatements​(int currentSnapshot)` | 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.
    `void` | `cleanSnapshotsFromSubjectStatements​(int currentSnapshot)` | 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 subject.
    `boolean` | `equals​(Object other)` | Compares this IRI to another object.
    `int` | `getContextStatementCount()` | Gets the number of statements for which this MemResource represents the context.
    `MemStatementList` | `getContextStatementList()` | Gets the list of statements for which this MemResource represents the context.
    `Object` | `getCreator()` | Returns the object that created this MemValue.
    `String` | `getLocalName()` | Gets the local name part of this IRI.
    `String` | `getNamespace()` | Gets the namespace part of this IRI.
    `int` | `getObjectStatementCount()` | Gets the number of statements for which this MemValue is the object.
    `MemStatementList` | `getObjectStatementList()` | Gets the list of statements for which this MemValue is the object.
    `int` | `getPredicateStatementCount()` | Gets the number of Statements for which this MemURI is the predicate.
    `MemStatementList` | `getPredicateStatementList()` | Gets the list of statements for which this MemURI is the predicate.
    `int` | `getSubjectStatementCount()` | Gets the number of statements for which this MemResource is the subject.
    `MemStatementList` | `getSubjectStatementList()` | Gets the list of statements for which this MemResource is the subject.
    `int` | `hashCode()` | Computes the hash code of this IRI.
    `boolean` | `hasStatements()` | Checks whether this MemValue has any statements.
    `void` | `removeContextStatement​(MemStatement st)` | Removes a statement from this MemResource's list of statements for which it represents the context.
    `void` | `removeObjectStatement​(MemStatement st)` | Removes a statement from this MemValue's list of statements for which it is the object.
    `void` | `removePredicateStatement​(MemStatement st)` | Removes a statement from this MemURI's list of statements for which it is the predicate.
    `void` | `removeSubjectStatement​(MemStatement st)` | Removes a statement from this MemResource's list of statements for which it is the subject.
    `String` | `stringValue()` | Returns the String-value of a Value object.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.IRI

      `isIRI`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Resource

      `isResource`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Value

      `isBNode, isLiteral, isTriple`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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 other)

      Description copied from interface: `IRI`
      Compares this IRI to another object.
      Specified by:
        `equals` in interface `IRI`
      Overrides:
        `equals` in class `Object`
      Parameters:
        `other` - 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.

    - #### getSubjectStatementList

          public MemStatementList getSubjectStatementList()

      Description copied from interface: `MemResource`
      Gets the list of statements for which this MemResource is the subject.
      Specified by:
        `getSubjectStatementList` in interface `MemResource`
      Returns:
        a MemStatementList containing the statements.

    - #### getSubjectStatementCount

          public int getSubjectStatementCount()

      Description copied from interface: `MemResource`
      Gets the number of statements for which this MemResource is the subject.
      Specified by:
        `getSubjectStatementCount` in interface `MemResource`
      Returns:
        An integer larger than or equal to 0.

    - #### addSubjectStatement

          public void addSubjectStatement​(MemStatement st)

      Description copied from interface: `MemResource`
      Adds a statement to this MemResource's list of statements for which it is the subject.
      Specified by:
        `addSubjectStatement` in interface `MemResource`

    - #### removeSubjectStatement

          public void removeSubjectStatement​(MemStatement st)

      Description copied from interface: `MemResource`
      Removes a statement from this MemResource's list of statements for which it is the subject.
      Specified by:
        `removeSubjectStatement` in interface `MemResource`

    - #### cleanSnapshotsFromSubjectStatements

          public void cleanSnapshotsFromSubjectStatements​(int currentSnapshot)

      Description copied from interface: `MemResource`
      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 subject.
      Specified by:
        `cleanSnapshotsFromSubjectStatements` in interface `MemResource`
      Parameters:
        `currentSnapshot` - The current snapshot version.

    - #### 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)

      Adds a statement to this MemURI's list of statements for which it is the predicate.

    - #### removePredicateStatement

          public void removePredicateStatement​(MemStatement st)

      Removes a statement from this MemURI's list of statements for which it is the predicate.

    - #### cleanSnapshotsFromPredicateStatements

          public void cleanSnapshotsFromPredicateStatements​(int currentSnapshot)

      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.

    - #### 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)

      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`

    - #### removeObjectStatement

          public void removeObjectStatement​(MemStatement st)

      Description copied from interface: `MemValue`
      Removes a statement from this MemValue's list of statements for which it is the object.
      Specified by:
        `removeObjectStatement` in interface `MemValue`

    - #### cleanSnapshotsFromObjectStatements

          public void cleanSnapshotsFromObjectStatements​(int currentSnapshot)

      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.

    - #### getContextStatementList

          public MemStatementList getContextStatementList()

      Description copied from interface: `MemResource`
      Gets the list of statements for which this MemResource represents the context.
      Specified by:
        `getContextStatementList` in interface `MemResource`
      Returns:
        a MemStatementList containing the statements.

    - #### getContextStatementCount

          public int getContextStatementCount()

      Description copied from interface: `MemResource`
      Gets the number of statements for which this MemResource represents the context.
      Specified by:
        `getContextStatementCount` in interface `MemResource`
      Returns:
        An integer larger than or equal to 0.

    - #### addContextStatement

          public void addContextStatement​(MemStatement st)

      Description copied from interface: `MemResource`
      Adds a statement to this MemResource's list of statements for which it represents the context.
      Specified by:
        `addContextStatement` in interface `MemResource`

    - #### removeContextStatement

          public void removeContextStatement​(MemStatement st)

      Description copied from interface: `MemResource`
      Removes a statement from this MemResource's list of statements for which it represents the context.
      Specified by:
        `removeContextStatement` in interface `MemResource`

    - #### cleanSnapshotsFromContextStatements

          public void cleanSnapshotsFromContextStatements​(int currentSnapshot)

      Description copied from interface: `MemResource`
      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 context.
      Specified by:
        `cleanSnapshotsFromContextStatements` in interface `MemResource`
      Parameters:
        `currentSnapshot` - The current snapshot version.