|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Buffered
Defines the interface to commit and discard changes to an object, supporting read-through and write-through modes.
Read-through mode means that the value read from the buffered object is constantly up to date with the data source. Write-through mode means that all changes to the object are immediately updated to the data source.
Since these modes are independent, their combinations may result in some behaviour that may sound surprising.
For example, if a Buffered
object is in read-through mode but
not in write-through mode, the result is an object whose value is updated
directly from the data source only if it's not locally modified. If the value
is locally modified, retrieving the value from the object would result in a
value that is different than the one stored in the data source, even though
the object is in read-through mode.
Nested Class Summary | |
---|---|
static class |
Buffered.SourceException
An exception that signals that one or more exceptions occurred while a buffered object tried to access its data source or if there is a problem in processing a data source. |
Method Summary | |
---|---|
void |
commit()
Updates all changes since the previous commit to the data source. |
void |
discard()
Discards all changes since last commit. |
boolean |
isModified()
Tests if the value stored in the object has been modified since it was last updated from the data source. |
boolean |
isReadThrough()
Tests if the object is in read-through mode. |
boolean |
isWriteThrough()
Tests if the object is in write-through mode. |
void |
setReadThrough(boolean readThrough)
Sets the object's read-through mode to the specified status. |
void |
setWriteThrough(boolean writeThrough)
Sets the object's write-through mode to the specified status. |
Method Detail |
---|
void commit() throws Buffered.SourceException, Validator.InvalidValueException
commit
is called.
Buffered.SourceException
- if the operation fails because of an exception is thrown by
the data source. The cause is included in the exception.
Validator.InvalidValueException
- if the operation fails because validation is enabled and the
values do not validatevoid discard() throws Buffered.SourceException
Buffered.SourceException
- if the operation fails because of an exception is thrown by
the data source. The cause is included in the exception.boolean isWriteThrough()
commit
being called after the modification.
true
if the object is in write-through mode,
false
if it's not.void setWriteThrough(boolean writeThrough) throws Buffered.SourceException, Validator.InvalidValueException
commit
operation
will be performed.
writeThrough
- Boolean value to indicate if the object should be in
write-through mode after the call.
Buffered.SourceException
- If the operation fails because of an exception is thrown by
the data source.
Validator.InvalidValueException
- If the implicit commit operation fails because of a
validation error.boolean isReadThrough()
The only exception to this rule is that when the object is not in write-through mode and it's buffer contains a modified value, the value retrieved from the object will be the locally modified value in the buffer which may differ from the value in the data source.
true
if the object is in read-through mode,
false
if it's not.void setReadThrough(boolean readThrough) throws Buffered.SourceException
readThrough
- Boolean value to indicate if the object should be in
read-through mode after the call.
Buffered.SourceException
- If the operation fails because of an exception is thrown by
the data source. The cause is included in the exception.boolean isModified()
true
if the value in the object has been modified
since the last data source update, false
if not.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |