/*
* Copyright 2002-2007 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springmodules.lucene.index.factory;
import java.io.IOException;
import java.io.PrintStream;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.store.Directory;
/**
* Simple implementation of the {@link LuceneIndexWriter} interface
* in order to wrap an instance of IndexWriter and delegate method
* calls to it.
*
* @author Thierry Templier
*/
public class SimpleLuceneIndexWriter implements LuceneIndexWriter {
private IndexWriter indexWriter;
/**
* Create a new SimpleLuceneIndexWriter.
*
* @param indexWriter an instance of IndexWriter to wrap
*/
public SimpleLuceneIndexWriter(IndexWriter indexWriter) {
this.indexWriter = indexWriter;
}
/**
* @see LuceneIndexWriter#addDocument(Document, Analyzer)
*/
public void addDocument(Document doc, Analyzer analyzer) throws IOException {
indexWriter.addDocument(doc, analyzer);
}
/**
* @see LuceneIndexWriter#addDocument(Document)
*/
public void addDocument(Document doc) throws IOException {
indexWriter.addDocument(doc);
}
/**
* @see LuceneIndexWriter#addIndexes(Directory[])
*/
public void addIndexes(Directory[] dirs) throws IOException {
indexWriter.addIndexes(dirs);
}
/**
* @see LuceneIndexWriter#addIndexes(IndexReader[])
*/
public void addIndexes(IndexReader[] readers) throws IOException {
indexWriter.addIndexes(readers);
}
/**
* @see LuceneIndexWriter#close()
*/
public void close() throws IOException {
indexWriter.close();
}
/**
* @see LuceneIndexWriter#docCount()
*/
public int docCount() {
return indexWriter.docCount();
}
/**
* @see LuceneIndexWriter#equals(Object)
*/
public boolean equals(Object obj) {
return indexWriter.equals(obj);
}
/**
* @see LuceneIndexWriter#getAnalyzer()
*/
public Analyzer getAnalyzer() {
return indexWriter.getAnalyzer();
}
/**
* @see LuceneIndexWriter#getCommitLockTimeout()
*/
public long getCommitLockTimeout() {
return indexWriter.getCommitLockTimeout();
}
/**
* @see LuceneIndexWriter#getDirectory()
*/
public Directory getDirectory() {
return indexWriter.getDirectory();
}
/**
* @see LuceneIndexWriter#getInfoStream()
*/
public PrintStream getInfoStream() {
return indexWriter.getInfoStream();
}
/**
* @see LuceneIndexWriter#getMaxBufferedDocs()
*/
public int getMaxBufferedDocs() {
return indexWriter.getMaxBufferedDocs();
}
/**
* @see LuceneIndexWriter#getMaxFieldLength()
*/
public int getMaxFieldLength() {
return indexWriter.getMaxFieldLength();
}
/**
* @see LuceneIndexWriter#getMaxMergeDocs()
*/
public int getMaxMergeDocs() {
return indexWriter.getMaxMergeDocs();
}
/**
* @see LuceneIndexWriter#getMergeFactor()
*/
public int getMergeFactor() {
return indexWriter.getMergeFactor();
}
/**
* @see LuceneIndexWriter#getSimilarity()
*/
public Similarity getSimilarity() {
return indexWriter.getSimilarity();
}
/**
* @see LuceneIndexWriter#getTermIndexInterval()
*/
public int getTermIndexInterval() {
return indexWriter.getTermIndexInterval();
}
/**
* @see LuceneIndexWriter#getUseCompoundFile()
*/
public boolean getUseCompoundFile() {
return indexWriter.getUseCompoundFile();
}
/**
* @see LuceneIndexWriter#getWriteLockTimeout()
*/
public long getWriteLockTimeout() {
return indexWriter.getWriteLockTimeout();
}
/**
* @see LuceneIndexWriter#hashCode()
*/
public int hashCode() {
return indexWriter.hashCode();
}
/**
* @see LuceneIndexWriter#optimize()
*/
public void optimize() throws IOException {
indexWriter.optimize();
}
/**
* @see LuceneIndexWriter#setInfoStream(PrintStream)
*/
public void setInfoStream(PrintStream infoStream) {
indexWriter.setInfoStream(infoStream);
}
/**
* @see LuceneIndexWriter#setMaxBufferedDocs(int)
*/
public void setMaxBufferedDocs(int maxBufferedDocs) {
indexWriter.setMaxBufferedDocs(maxBufferedDocs);
}
/**
* @see LuceneIndexWriter#setMaxFieldLength(int)
*/
public void setMaxFieldLength(int maxFieldLength) {
indexWriter.setMaxFieldLength(maxFieldLength);
}
/**
* @see LuceneIndexWriter#setMaxMergeDocs(int)
*/
public void setMaxMergeDocs(int maxMergeDocs) {
indexWriter.setMaxMergeDocs(maxMergeDocs);
}
/**
* @see LuceneIndexWriter#setMergeFactor(int)
*/
public void setMergeFactor(int mergeFactor) {
indexWriter.setMergeFactor(mergeFactor);
}
/**
* @see LuceneIndexWriter#setSimilarity(Similarity)
*/
public void setSimilarity(Similarity similarity) {
indexWriter.setSimilarity(similarity);
}
/**
* @see LuceneIndexWriter#setTermIndexInterval(int)
*/
public void setTermIndexInterval(int interval) {
indexWriter.setTermIndexInterval(interval);
}
/**
* @see LuceneIndexWriter#setUseCompoundFile(boolean)
*/
public void setUseCompoundFile(boolean value) {
indexWriter.setUseCompoundFile(value);
}
/**
* @see LuceneIndexWriter#setWriteLockTimeout(long)
*/
public void setWriteLockTimeout(long writeLockTimeout) {
indexWriter.setWriteLockTimeout(writeLockTimeout);
}
/**
* @see LuceneIndexWriter#setCommitLockTimeout(long)
*/
public void setCommitLockTimeout(long commitLockTimeout) {
indexWriter.setCommitLockTimeout(commitLockTimeout);
}
}