Class TransactionalOnlineAttributeWriter
- java.lang.Object
-
- cz.o2.proxima.direct.core.transaction.TransactionalOnlineAttributeWriter
-
- All Implemented Interfaces:
AttributeWriterBase,OnlineAttributeWriter,java.lang.AutoCloseable
public class TransactionalOnlineAttributeWriter extends java.lang.Object implements OnlineAttributeWriter
AOnlineAttributeWriterthat enforces transactions for each write.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classTransactionalOnlineAttributeWriter.Transactionstatic interfaceTransactionalOnlineAttributeWriter.TransactionAwareInterface for a transformation to get access toTransactionalOnlineAttributeWriter.Transaction.static classTransactionalOnlineAttributeWriter.TransactionPreconditionFailedExceptionstatic classTransactionalOnlineAttributeWriter.TransactionRejectedExceptionstatic classTransactionalOnlineAttributeWriter.TransactionRejectedRuntimeExceptionThis exception might be thrown in place ofTransactionalOnlineAttributeWriter.TransactionRejectedExceptionwhere fromTransactionalOnlineAttributeWriter.TransactionAwaretransformations where theElementWiseTransformation.apply(StreamElement, Collector)does not allow for throwing checked exceptions directly.static classTransactionalOnlineAttributeWriter.TransactionValidatorBase class for enforcing constraints on outputs of transaction (e.g.-
Nested classes/interfaces inherited from interface cz.o2.proxima.direct.core.AttributeWriterBase
AttributeWriterBase.Type
-
Nested classes/interfaces inherited from interface cz.o2.proxima.direct.core.OnlineAttributeWriter
OnlineAttributeWriter.Factory<T extends OnlineAttributeWriter>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description OnlineAttributeWriter.Factory<? extends OnlineAttributeWriter>asFactory()Convert instance of this writer toAttributeWriterBase.Factorysuitable for serialization.TransactionalOnlineAttributeWriter.Transactionbegin()TransactionalOnlineAttributeWriter.Transactionbegin(java.lang.String transactionId)voidclose()Close allocated resources of this writer.java.net.URIgetUri()Retrieve URI of this writer.static TransactionalOnlineAttributeWriterglobal(DirectDataOperator direct)booleanisTransactional()static TransactionalOnlineAttributeWriterof(DirectDataOperator direct, OnlineAttributeWriter delegate)TransactionalOnlineAttributeWritertransactional()voidwrite(StreamElement data, CommitCallback statusCallback)Write given serialized attribute value to given entity.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface cz.o2.proxima.direct.core.AttributeWriterBase
bulk, online
-
Methods inherited from interface cz.o2.proxima.direct.core.OnlineAttributeWriter
getType, rollback
-
-
-
-
Method Detail
-
of
public static TransactionalOnlineAttributeWriter of(DirectDataOperator direct, OnlineAttributeWriter delegate)
-
global
public static TransactionalOnlineAttributeWriter global(DirectDataOperator direct)
-
getUri
public java.net.URI getUri()
Description copied from interface:AttributeWriterBaseRetrieve URI of this writer.- Specified by:
getUriin interfaceAttributeWriterBase- Returns:
- URI of this writer
-
close
public void close()
Description copied from interface:AttributeWriterBaseClose allocated resources of this writer. This is supposed to be idempotent.- Specified by:
closein interfaceAttributeWriterBase- Specified by:
closein interfacejava.lang.AutoCloseable
-
write
public void write(StreamElement data, CommitCallback statusCallback)
Description copied from interface:OnlineAttributeWriterWrite given serialized attribute value to given entity.- Specified by:
writein interfaceOnlineAttributeWriter- Parameters:
data- the data to writestatusCallback- callback used to commit data processing
-
asFactory
public OnlineAttributeWriter.Factory<? extends OnlineAttributeWriter> asFactory()
Description copied from interface:AttributeWriterBaseConvert instance of this writer toAttributeWriterBase.Factorysuitable for serialization.- Specified by:
asFactoryin interfaceAttributeWriterBase- Specified by:
asFactoryin interfaceOnlineAttributeWriter- Returns:
- the
AttributeWriterBase.Factoryrepresenting this reader
-
isTransactional
public boolean isTransactional()
- Specified by:
isTransactionalin interfaceOnlineAttributeWriter- Returns:
trueis this is aTransactionalOnlineAttributeWriter.TransactionalOnlineAttributeWriteris used when writing attribute that supportsTransactionModedifferent fromTransactionMode.NONE.
-
transactional
public TransactionalOnlineAttributeWriter transactional()
- Specified by:
transactionalin interfaceOnlineAttributeWriter- Returns:
thisifOnlineAttributeWriter.isTransactional()returns true.
-
begin
public TransactionalOnlineAttributeWriter.Transaction begin()
-
begin
public TransactionalOnlineAttributeWriter.Transaction begin(java.lang.String transactionId)
-
-