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 © 2001–2016 Aduna. All rights reserved.