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)
|
closeSailSource 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.SailSinkSailExceptionSailDataset 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 SailDatasets
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 stateSailExceptionvoid 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.SailExceptionvoid flush()
throws SailException
SailSource, if applicable. If this is the final
backing SailSource calling this method has no effect.SailExceptionCopyright © 2015-2020 Eclipse Foundation. All Rights Reserved.