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 © 2001-2015 Aduna. All Rights Reserved.