Package com.yahoo.documentapi
Interface SyncSession
- All Superinterfaces:
Session
- All Known Implementing Classes:
LocalSyncSession
,MessageBusSyncSession
A session for synchronous access to a document repository,
provides simple document access where throughput is not a concern.
This is multithread safe.
- Author:
- Simon Thoresen Hult, bjorncs
-
Method Summary
Modifier and TypeMethodDescriptiondefault com.yahoo.document.Document
get
(com.yahoo.document.DocumentId id) Gets a document.default com.yahoo.document.Document
get
(com.yahoo.document.DocumentId id, DocumentOperationParameters parameters, Duration timeout) Gets a document with timeout.com.yahoo.document.Document
Gets a document with timeout.void
put
(com.yahoo.document.DocumentPut documentPut) Puts a document.default void
put
(com.yahoo.document.DocumentPut documentPut, DocumentOperationParameters parameters) Puts a document.boolean
remove
(com.yahoo.document.DocumentRemove documentRemove) Removes a document if it is present and condition is fulfilled.default boolean
remove
(com.yahoo.document.DocumentRemove documentRemove, DocumentOperationParameters parameters) Removes a document if it is present.boolean
update
(com.yahoo.document.DocumentUpdate update) Updates a document.default boolean
update
(com.yahoo.document.DocumentUpdate update, DocumentOperationParameters parameters) Updates a document.
-
Method Details
-
put
void put(com.yahoo.document.DocumentPut documentPut) Puts a document. When this method returns, the document is safely received. This enables setting condition compared to using Document.- Parameters:
documentPut
- the DocumentPut operation
-
put
default void put(com.yahoo.document.DocumentPut documentPut, DocumentOperationParameters parameters) Puts a document. When this method returns, the document is safely received.- Parameters:
documentPut
- the DocumentPut operationparameters
- parameters for the operation
-
get
default com.yahoo.document.Document get(com.yahoo.document.DocumentId id) Gets a document.- Parameters:
id
- the id of the document to get.- Returns:
- the known document having this id, or null if there is no document having this id
- Throws:
UnsupportedOperationException
- thrown if this access does not support retrieving
-
get
Gets a document with timeout.- Parameters:
id
- the id of the document to gettimeout
- timeout. If timeout is null, an unspecified default will be used- Returns:
- the document with this id, or null if there is none
- Throws:
UnsupportedOperationException
- thrown if this access does not support retrievingDocumentAccessException
- on any messagebus error, including timeout (ErrorCode.TIMEOUT
).
-
get
default com.yahoo.document.Document get(com.yahoo.document.DocumentId id, DocumentOperationParameters parameters, Duration timeout) Gets a document with timeout.- Parameters:
id
- the id of the document to getparameters
- parameters for the operationtimeout
- timeout. If timeout is null, an unspecified default will be used- Returns:
- the known document having this id, or null if there is no document having this id
- Throws:
UnsupportedOperationException
- thrown if this access does not support retrievingDocumentAccessException
- on any messagebus error, including timeout (ErrorCode.TIMEOUT
)
-
remove
boolean remove(com.yahoo.document.DocumentRemove documentRemove) Removes a document if it is present and condition is fulfilled.- Parameters:
documentRemove
- document to delete- Returns:
- true if the document with this id was removed, false otherwise
-
remove
default boolean remove(com.yahoo.document.DocumentRemove documentRemove, DocumentOperationParameters parameters) Removes a document if it is present.- Parameters:
documentRemove
- document remove operationparameters
- parameters for the operation- Returns:
- true if the document with this id was removed, false otherwise.
- Throws:
UnsupportedOperationException
- thrown if this access does not support removal
-
update
boolean update(com.yahoo.document.DocumentUpdate update) Updates a document.- Parameters:
update
- the updates to perform- Returns:
- false if the updates could not be applied as the document does not exist and
create-if-non-existent
is not set. - Throws:
DocumentAccessException
- on update error, including but not limited to: 1. timeouts, 2. the document exists but thecondition
is not met.
-
update
default boolean update(com.yahoo.document.DocumentUpdate update, DocumentOperationParameters parameters) Updates a document.- Parameters:
update
- the updates to perform.parameters
- parameters for the operation- Returns:
- false if the updates could not be applied as the document does not exist and
create-if-non-existent
is not set. - Throws:
DocumentAccessException
- on update error, including but not limited to: 1. timeouts, 2. the document exists but thecondition
is not met.
-