view lucene/src/luan/modules/lucene/LuceneSnapshot.java @ 230:4438cb2e04d0

start lucene git-svn-id: https://luan-java.googlecode.com/svn/trunk@231 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 30 Sep 2014 20:03:56 +0000
parents
children ef39bc4d3f70
line wrap: on
line source

package luan.modules.lucene;

import java.io.IOException;
import java.util.Collection;
import org.apache.lucene.index.IndexCommit;


public final class LuceneSnapshot {
	private final LuceneIndex index;
	private final IndexCommit ic;

	LuceneSnapshot(LuceneIndex index) {
		this.index = index;
		try {
			this.ic = index.snapshotDeletionPolicy.snapshot();
		} catch(IOException e) {
			throw new RuntimeException(e);
		}
	}

	// call in finally block
	public void close() {
		try {
			index.snapshotDeletionPolicy.release(ic);
		} catch(IOException e) {
			throw new RuntimeException(e);
		}
	}

	public Collection<String> getFileNames() {
		try {
			return ic.getFileNames();
		} catch(IOException e) {
			throw new RuntimeException(e);
		}
	}

}