public interface SailSource extends SailClosable
SailClosable.close()
is only applicable to results from
fork()
, not to the backing SailSource
itself.Modifier and Type | Method and Description |
---|---|
SailDataset |
dataset(IsolationLevel level)
Create an observable
SailDataset of the current state of this SailSource . |
void |
flush()
Apply all the changes to this branch to the backing
SailSource , if applicable. |
SailSource |
fork()
Creates a new branch of this source.
|
void |
prepare()
Check the consistency of this branch and throws a
SailConflictException if flush() ing this
branch would cause the backing SailSource to be inconsistent, if applicable. |
SailSink |
sink(IsolationLevel level)
|
close
SailSource fork()
flush()
is called the changes are applied to this backing
source.SailSource
.SailSink sink(IsolationLevel level) throws SailException
level
- If this level is compatible with IsolationLevels.SERIALIZABLE
then a
SailSink.prepare()
can throw a SailConflictException
.SailSink
SailException
SailDataset dataset(IsolationLevel level) throws SailException
SailDataset
of the current state of this SailSource
. Repeatedly calling with
methods with IsolationLevels.SNAPSHOT
(or higher) isolation levels will result in SailDataset
s
that are all derived from the same state of the backing SailSource
(if applicable), that is the only
difference between the states of the SailDataset
will be from changes using this
sink(IsolationLevel)
.level
- If this is compatible with IsolationLevels.SNAPSHOT_READ
the resulting SailDataset
will observe a single state of this SailSource
.SailDataset
of the current stateSailException
void prepare() throws SailException
SailConflictException
if flush()
ing this
branch would cause the backing SailSource
to be inconsistent, if applicable. If this is the final backing
SailSource
calling this method has no effect.SailException
void flush() throws SailException
SailSource
, if applicable. If this is the final
backing SailSource
calling this method has no effect.SailException
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.