Package org.eclipse.rdf4j.sail.base
Class Changeset
- java.lang.Object
-
- org.eclipse.rdf4j.sail.base.Changeset
-
- All Implemented Interfaces:
AutoCloseable
,ModelFactory
,SailClosable
,SailSink
@InternalUseOnly public abstract class Changeset extends Object implements SailSink, ModelFactory
Set of changes applied to anSailSourceBranch
awaiting to be flushed into its backingSailSource
.- Author:
- James Leigh
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Changeset.SimpleStatementPattern
-
Constructor Summary
Constructors Constructor Description Changeset()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addRefback(org.eclipse.rdf4j.sail.base.SailDatasetImpl dataset)
void
approve(Resource subj, IRI pred, Value obj, Resource ctx)
Adds a statement to the store.void
approve(Statement statement)
Adds a statement to the store.void
approveAll(Set<Statement> approve, Set<Resource> approveContexts)
void
clear(Resource... contexts)
Removes all statements from the specified/all contexts.void
clearNamespaces()
Removes all namespace declarations from thisSailSource
.void
close()
Closes this resource, relinquishing any underlying resources.void
deprecate(Statement statement)
Removes a statement.void
deprecateAll(Set<Statement> deprecate)
Map<String,String>
getAddedNamespaces()
Set<Resource>
getApprovedContexts()
Set<Resource>
getDeprecatedContexts()
Set<StatementPattern>
getObservations()
Deprecated.Use getObserved() instead!Set<Changeset.SimpleStatementPattern>
getObserved()
Set<String>
getRemovedPrefixes()
boolean
hasDeprecated()
boolean
isNamespaceCleared()
boolean
isRefback()
boolean
isStatementCleared()
void
observe(Resource subj, IRI pred, Value obj, Resource context)
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.void
observe(Resource subj, IRI pred, Value obj, Resource... contexts)
Called to indicate matching statements have been observed and must not change their state until after thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.void
observeAll(Set<Changeset.SimpleStatementPattern> observed)
void
prepare()
Checks if thisSailSink
is consistent with the isolation level it was created with.void
prepend(Changeset changeset)
void
removeNamespace(String prefix)
Removes a namespace declaration by removing the association between a prefix and a namespace name.void
removeRefback(org.eclipse.rdf4j.sail.base.SailDatasetImpl dataset)
protected void
setChangeset(Changeset from)
void
setNamespace(String prefix, String name)
Sets the prefix for a namespace.Changeset
shallowClone()
Create a shallow clone of this Changeset.void
sinkObserved(SailSink sink)
String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.model.ModelFactory
createEmptyModel
-
Methods inherited from interface org.eclipse.rdf4j.sail.base.SailSink
deprecate, deprecateByQuery, flush, supportsDeprecateByQuery
-
-
-
-
Method Detail
-
close
public void close() throws SailException
Description copied from interface:SailClosable
Closes this resource, relinquishing any underlying resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSailClosable
- Throws:
SailException
- if this resource cannot be closed
-
prepare
public void prepare() throws SailException
Description copied from interface:SailSink
Checks if thisSailSink
is consistent with the isolation level it was created with. If this Sink was created with aIsolationLevels.SERIALIZABLE
and another conflictingSailSink
has already beenSailSink.flush()
ed, this method will throw aSailConflictException
.- Specified by:
prepare
in interfaceSailSink
- Throws:
SailException
-
addRefback
public void addRefback(org.eclipse.rdf4j.sail.base.SailDatasetImpl dataset)
-
removeRefback
public void removeRefback(org.eclipse.rdf4j.sail.base.SailDatasetImpl dataset)
-
isRefback
public boolean isRefback()
-
prepend
public void prepend(Changeset changeset)
-
setNamespace
public void setNamespace(String prefix, String name)
Description copied from interface:SailSink
Sets the prefix for a namespace.- Specified by:
setNamespace
in interfaceSailSink
- 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(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 interfaceSailSink
- 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 thisSailSource
.- Specified by:
clearNamespaces
in interfaceSailSink
-
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 thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.- Specified by:
observe
in interfaceSailSink
- 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 thisSailSink
is committed, iff this was opened in an isolation level compatible withIsolationLevels.SERIALIZABLE
.- Specified by:
observe
in interfaceSailSink
- 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
-
observeAll
public void observeAll(Set<Changeset.SimpleStatementPattern> observed)
- Specified by:
observeAll
in interfaceSailSink
-
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 interfaceSailSink
- 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.
-
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 interfaceSailSink
- 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.
-
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.
-
getObserved
public Set<Changeset.SimpleStatementPattern> getObserved()
-
getObservations
@Deprecated public Set<StatementPattern> getObservations()
Deprecated.Use getObserved() instead!
-
isStatementCleared
public boolean isStatementCleared()
-
isNamespaceCleared
public boolean isNamespaceCleared()
-
hasDeprecated
public boolean hasDeprecated()
-
sinkObserved
public void sinkObserved(SailSink sink)
-
approveAll
public void approveAll(Set<Statement> approve, Set<Resource> approveContexts)
- Specified by:
approveAll
in interfaceSailSink
-
deprecateAll
public void deprecateAll(Set<Statement> deprecate)
- Specified by:
deprecateAll
in interfaceSailSink
-
-