/**
* Copyright (C) 2000-2016 Atomikos <info@atomikos.com>
*
* LICENSE CONDITIONS
*
* See http://www.atomikos.com/Main/WhichLicenseApplies for details.
*/
package com.atomikos.recovery;
import java.util.Collection;
/**
* Abstraction of where transaction log entries are stored and retrieved.
*/
public interface Repository {
void init() throws LogException;
/**
* @throws IllegalArgumentException If the same coordinatorLogEntry is already in the repository.
*/
void put(String id,CoordinatorLogEntry coordinatorLogEntry) throws IllegalArgumentException,LogWriteException;
CoordinatorLogEntry get(String coordinatorId) throws LogReadException;
Collection<CoordinatorLogEntry> findAllCommittingCoordinatorLogEntries() throws LogReadException;
Collection<CoordinatorLogEntry> getAllCoordinatorLogEntries() throws LogReadException;
void writeCheckpoint(Collection<CoordinatorLogEntry> checkpointContent) throws LogWriteException;
void close();
}