package ru.hflabs.rcd.lucene;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import java.io.IOException;
/**
* Интерфейс <class>IndexWriterAccessor</class> декларирует методы доступа к сервису записи в индекс
*
* @author Nazin Alexander
*/
public interface IndexWriterAccessor {
/**
* @param directory директория индекса
* @return Возвращает сервис записи в индекс
*/
IndexWriter retrieveWriter(Directory directory) throws IOException;
/**
* Выполняет фиксирование изменений в сервисе записи
*
* @param writer сервис записи
* @param changeCount количество изменений
*/
void commitWriter(IndexWriter writer, int changeCount) throws IOException;
/**
* Выполняет откат изменений в сервисе записи
*
* @param writer сервис записи
*/
void rollbackWriter(IndexWriter writer) throws IOException;
}