package com.smartitengineering.cms.repo.dao.impl.tx;
import java.util.List;
/**
* A SPI for interacting with transactional memory
* @author imyousuf
*/
public interface TransactionInMemoryCache {
public Pair<TransactionStoreKey, TransactionStoreValue> getValueForIsolatedTransaction(TransactionStoreKey key);
public Pair<TransactionStoreKey, TransactionStoreValue> getValueForNonIsolatedTransaction(TransactionStoreKey key);
public Pair<TransactionStoreKey, TransactionStoreValue> getValueForIsolatedTransaction(String txId, String objectType,
String objectId);
public Pair<TransactionStoreKey, TransactionStoreValue> getValueForNonIsolatedTransaction(String objectType,
String objectId);
public List<Pair<TransactionStoreKey, TransactionStoreValue>> getTransactionParticipants(String txId);
public void removeTransactionReferences(String txId);
public void storeTransactionValue(TransactionStoreKey key, TransactionStoreValue val);
}