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

      • 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.
      • 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.
      • 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