Class Changeset

    • Field Detail

      • prependLock

        java.util.concurrent.Semaphore prependLock
      • approved

        private volatile Model approved
        Statements that have been added as part of a transaction, but has not yet been committed.

        DO NOT EXPOSE THE MODEL OUTSIDE OF THIS CLASS BECAUSE IT IS NOT THREAD-SAFE

      • approvedEmpty

        private volatile boolean approvedEmpty
      • deprecated

        private volatile Model deprecated
        Explicit statements that have been removed as part of a transaction, but have not yet been committed.

        DO NOT EXPOSE THE MODEL OUTSIDE OF THIS CLASS BECAUSE IT IS NOT THREAD-SAFE

      • deprecatedEmpty

        private volatile boolean deprecatedEmpty
      • approvedContexts

        private java.util.Set<Resource> approvedContexts
        Set of contexts of the approved statements.
      • deprecatedContexts

        private volatile java.util.Set<Resource> deprecatedContexts
        Set of contexts that were passed to clear(Resource...).
      • addedNamespaces

        private java.util.Map<java.lang.String,​java.lang.String> addedNamespaces
        Additional namespaces added.
      • removedPrefixes

        private java.util.Set<java.lang.String> removedPrefixes
        Namespace prefixes that were removed.
      • namespaceCleared

        private volatile boolean namespaceCleared
        If all namespaces were removed, other than addedNamespaces.
      • statementCleared

        private volatile boolean statementCleared
        If all statements were removed, other than approved.
      • closed

        private boolean closed
    • Constructor Detail

      • Changeset

        public Changeset()
    • Method Detail

      • close

        public void close()
                   throws SailException
        Description copied from interface: SailClosable
        Closes this resource, relinquishing any underlying resources.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface SailClosable
        Throws:
        SailException - if this resource cannot be closed
      • isRefback

        public boolean isRefback()
      • prepend

        public void prepend​(Changeset changeset)
      • setNamespace

        public void setNamespace​(java.lang.String prefix,
                                 java.lang.String name)
        Description copied from interface: SailSink
        Sets the prefix for a namespace.
        Specified by:
        setNamespace in interface SailSink
        Parameters:
        prefix - The new prefix, or an empty string in case of the default namespace.
        name - The namespace name that the prefix maps to.
      • removeNamespace

        public void removeNamespace​(java.lang.String prefix)
        Description copied from interface: SailSink
        Removes a namespace declaration by removing the association between a prefix and a namespace name.
        Specified by:
        removeNamespace in interface SailSink
        Parameters:
        prefix - The namespace prefix, or an empty string in case of the default namespace.
      • clearNamespaces

        public void clearNamespaces()
        Description copied from interface: SailSink
        Removes all namespace declarations from this SailSource.
        Specified by:
        clearNamespaces in interface SailSink
      • observe

        public void observe​(Resource subj,
                            IRI pred,
                            Value obj,
                            Resource... contexts)
                     throws SailConflictException
        Description copied from interface: SailSink
        Called to indicate matching statements have been observed and must not change their state until after this SailSink is committed, iff this was opened in an isolation level compatible with IsolationLevels.SERIALIZABLE.
        Specified by:
        observe in interface SailSink
        Parameters:
        subj - A Resource specifying the subject, or null for a wildcard.
        pred - A IRI specifying the predicate, or null for a wildcard.
        obj - A Value specifying the object, or null for a wildcard.
        contexts - The context(s) of the observed statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on all contexts.
        Throws:
        SailConflictException
      • observe

        public void observe​(Resource subj,
                            IRI pred,
                            Value obj,
                            Resource context)
                     throws SailConflictException
        Description copied from interface: SailSink
        Called to indicate matching statements have been observed and must not change their state until after this SailSink is committed, iff this was opened in an isolation level compatible with IsolationLevels.SERIALIZABLE.
        Specified by:
        observe in interface SailSink
        Parameters:
        subj - A Resource specifying the subject, or null for a wildcard.
        pred - A IRI specifying the predicate, or null for a wildcard.
        obj - A Value specifying the object, or null for a wildcard.
        context - The context of the observed statements.
        Throws:
        SailConflictException
      • clear

        public void clear​(Resource... contexts)
        Description copied from interface: SailSink
        Removes all statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.
        Specified by:
        clear in interface SailSink
        Parameters:
        contexts - The context(s) from which to remove the statements. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A null value can be used to match context-less statements.
      • approve

        public void approve​(Statement statement)
        Description copied from interface: SailSink
        Adds a statement to the store.
        Specified by:
        approve in interface SailSink
        Parameters:
        statement - The statement to add.
      • approve

        public void approve​(Resource subj,
                            IRI pred,
                            Value obj,
                            Resource ctx)
                     throws SailException
        Description copied from interface: SailSink
        Adds a statement to the store.
        Specified by:
        approve in interface SailSink
        Parameters:
        subj - The subject of the statement to add.
        pred - The predicate of the statement to add.
        obj - The object of the statement to add.
        ctx - The context to add the statement to.
        Throws:
        SailException - If the statement could not be added, for example because no transaction is active.
      • deprecate

        public void deprecate​(Statement statement)
        Description copied from interface: SailSink
        Removes a statement.
        Specified by:
        deprecate in interface SailSink
        Parameters:
        statement - The statement that should be removed
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • setChangeset

        protected void setChangeset​(Changeset from)
      • shallowClone

        public Changeset shallowClone()
        Create a shallow clone of this Changeset. The shallow clone does not clone the underlying data structures, this means that any changes made to the original will potentially be reflected in the clone and vice versa.
        Returns:
        a new Changeset that is a shallow clone of the current Changeset.
      • getObservations

        @Deprecated
        public java.util.Set<StatementPattern> getObservations()
        Deprecated.
        Use getObserved() instead!
      • getApprovedContexts

        public java.util.Set<Resource> getApprovedContexts()
      • getDeprecatedContexts

        public java.util.Set<Resource> getDeprecatedContexts()
      • isStatementCleared

        public boolean isStatementCleared()
      • getAddedNamespaces

        public java.util.Map<java.lang.String,​java.lang.String> getAddedNamespaces()
      • getRemovedPrefixes

        public java.util.Set<java.lang.String> getRemovedPrefixes()
      • isNamespaceCleared

        public boolean isNamespaceCleared()
      • hasDeprecated

        public boolean hasDeprecated()
      • isChanged

        boolean isChanged()
      • getDeprecatedStatements

        java.util.List<Statement> getDeprecatedStatements()
      • getApprovedStatements

        java.util.List<Statement> getApprovedStatements()
      • hasDeprecated

        boolean hasDeprecated​(Statement statement)
      • hasApproved

        boolean hasApproved()
      • removeApproved

        void removeApproved​(Statement next)
      • cloneSet

        private <T> java.util.Set<T> cloneSet​(java.util.Set<T> set)
      • sinkApproved

        void sinkApproved​(SailSink sink)
      • sinkDeprecated

        void sinkDeprecated​(SailSink sink)
      • sinkObserved

        public void sinkObserved​(SailSink sink)