2021-09-18 18:34:21 +02:00
|
|
|
package it.cavallium.dbengine.database.disk;
|
|
|
|
|
2022-06-30 15:06:10 +02:00
|
|
|
import it.cavallium.dbengine.database.DiscardingCloseable;
|
2022-06-30 13:54:55 +02:00
|
|
|
import it.cavallium.dbengine.utils.SimpleResource;
|
2022-06-14 13:10:38 +02:00
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
2021-12-17 01:48:49 +01:00
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
|
|
import org.apache.logging.log4j.Logger;
|
2021-09-18 18:34:21 +02:00
|
|
|
import org.apache.lucene.search.IndexSearcher;
|
|
|
|
|
2022-06-30 15:06:10 +02:00
|
|
|
public abstract class LLIndexSearcher extends SimpleResource implements DiscardingCloseable {
|
2021-09-18 18:34:21 +02:00
|
|
|
|
2022-06-14 13:10:38 +02:00
|
|
|
protected static final Logger LOG = LogManager.getLogger(LLIndexSearcher.class);
|
2021-10-01 19:17:33 +02:00
|
|
|
|
2022-07-03 01:32:13 +02:00
|
|
|
public LLIndexSearcher() {
|
2022-06-30 13:54:55 +02:00
|
|
|
super();
|
2022-06-30 17:05:32 +02:00
|
|
|
}
|
|
|
|
|
2022-07-03 01:32:13 +02:00
|
|
|
public LLIndexSearcher(Runnable cleanAction) {
|
2022-06-30 17:05:32 +02:00
|
|
|
super(cleanAction);
|
2021-09-18 18:34:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public IndexSearcher getIndexSearcher() {
|
2022-06-30 13:54:55 +02:00
|
|
|
ensureOpen();
|
2022-07-03 01:32:13 +02:00
|
|
|
return getIndexSearcherInternal();
|
2021-09-18 18:34:21 +02:00
|
|
|
}
|
|
|
|
|
2022-07-03 01:32:13 +02:00
|
|
|
protected abstract IndexSearcher getIndexSearcherInternal();
|
|
|
|
|
2022-06-14 17:46:49 +02:00
|
|
|
public AtomicBoolean getClosed() {
|
2022-06-30 13:54:55 +02:00
|
|
|
return super.getClosed();
|
2022-06-14 17:46:49 +02:00
|
|
|
}
|
2021-09-18 18:34:21 +02:00
|
|
|
}
|