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-2018 Eclipse Foundation. All Rights Reserved.