/*****************************************************************************
*
* Copyright (C) Zenoss, Inc. 2014, all rights reserved.
*
* This content is made available according to terms specified in
* License.zenoss under the directory where your Zenoss product is installed.
*
****************************************************************************/
package org.zenoss.zep.index.impl.lucene;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.zenoss.zep.ZepException;
import org.zenoss.zep.index.impl.SavedSearch;
import java.io.IOException;
public final class LuceneSavedSearch extends SavedSearch {
private IndexReader reader;
private final Query query;
private final Sort sort;
public LuceneSavedSearch(String uuid, IndexReader reader, Query query, Sort sort, int timeout) {
super(uuid, timeout);
this.reader = reader;
this.query = query;
this.sort = sort;
}
public IndexReader getReader() {
return this.reader;
}
public Query getQuery() {
return this.query;
}
public Sort getSort() {
return sort;
}
public synchronized void close() throws IOException {
if (this.reader != null) {
this.reader.decRef();
this.reader = null;
}
}
@Override
public String toString() {
return "LuceneSavedSearch{uuid=" + getUuid() +
", reader=" + reader +
", query=" + query +
", sort=" + sort +
", timeout=" + getTimeout() +
'}';
}
}