Package org.springmodules.lucene.index.factory

Source Code of org.springmodules.lucene.index.factory.SimpleLuceneIndexReader

/*
* 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.util.Collection;

import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermDocs;
import org.apache.lucene.index.TermEnum;
import org.apache.lucene.index.TermFreqVector;
import org.apache.lucene.index.TermPositions;
import org.apache.lucene.index.IndexReader.FieldOption;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.store.Directory;
import org.springmodules.lucene.search.factory.LuceneSearcher;
import org.springmodules.lucene.search.factory.SimpleLuceneSearcher;

/**
* Simple implementation of the {@link LuceneIndexReader} interface
* in order to wrap an instance of IndexReader and delegate method
* calls to it.
*
* @author Thierry Templier
* @see org.apache.lucene.index.IndexReader
*/
public class SimpleLuceneIndexReader implements LuceneIndexReader {
  private IndexReader indexReader;

  /**
   * Create a new SimpleLuceneIndexReader.
   *
   * @param indexReader an instance of IndexReader to wrap
   */
  public SimpleLuceneIndexReader(IndexReader indexReader) {
    this.indexReader = indexReader;
  }
 
  /**
   * @see LuceneIndexReader#directory()
   */
  public Directory directory() {
    return indexReader.directory();
  }

  /**
   * @see LuceneIndexReader#docFreq(Term)
   */
  public int docFreq(Term term) throws IOException {
    return indexReader.docFreq(term);
  }

  /**
   * @see LuceneIndexReader#document(int)
   */
  public Document document(int n) throws IOException {
    return indexReader.document(n);
  }

  /**
   * @see LuceneIndexReader#equals(Object)
   */
  public boolean equals(Object obj) {
    return indexReader.equals(obj);
  }

  /**
   * @see LuceneIndexReader#getFieldNames(FieldOption)
   */
  public Collection getFieldNames(FieldOption fldOption) {
    return indexReader.getFieldNames(fldOption);
  }

  /**
   * @see LuceneIndexReader#getTermFreqVector(int, String)
   */
  public TermFreqVector getTermFreqVector(int docNumber, String field) throws IOException {
    return indexReader.getTermFreqVector(docNumber, field);
  }

  /**
   * @see LuceneIndexReader#getTermFreqVectors(int)
   */
  public TermFreqVector[] getTermFreqVectors(int docNumber) throws IOException {
    return indexReader.getTermFreqVectors(docNumber);
  }

  /**
   * @see LuceneIndexReader#getVersion()
   */
  public long getVersion() {
    return indexReader.getVersion();
  }

  /**
   * @see LuceneIndexReader#hasDeletions()
   */
  public boolean hasDeletions() {
    return indexReader.hasDeletions();
  }

  /**
   * @see LuceneIndexReader#hashCode()
   */
  public int hashCode() {
    return indexReader.hashCode();
  }

  /**
   * @see LuceneIndexReader#hasNorms(String)
   */
  public boolean hasNorms(String field) throws IOException {
    return indexReader.hasNorms(field);
  }

  /**
   * @see LuceneIndexReader#isCurrent()
   */
  public boolean isCurrent() throws IOException {
    return indexReader.isCurrent();
  }

  /**
   * @see LuceneIndexReader#isDeleted(int)
   */
  public boolean isDeleted(int n) {
    return indexReader.isDeleted(n);
  }

  /**
   * @see LuceneIndexReader#maxDoc()
   */
  public int maxDoc() {
    return indexReader.maxDoc();
  }

  /**
   * @see LuceneIndexReader#norms(String, byte[], int)
   */
  public void norms(String field, byte[] bytes, int offset) throws IOException {
    indexReader.norms(field, bytes, offset);
  }

  /**
   * @see LuceneIndexReader#norms(String)
   */
  public byte[] norms(String field) throws IOException {
    return indexReader.norms(field);
  }

  /**
   * @see LuceneIndexReader#numDocs()
   */
  public int numDocs() {
    return indexReader.numDocs();
  }

  /**
   * @see LuceneIndexReader#setNorm(int, String, float)
   */
  public void setNorm(int doc, String field, float value) throws IOException {
    indexReader.setNorm(doc, field, value);
  }

  /**
   * @see LuceneIndexReader#termDocs()
   */
  public TermDocs termDocs() throws IOException {
    return indexReader.termDocs();
  }

  /**
   * @see LuceneIndexReader#termDocs()
   */
  public TermDocs termDocs(Term term) throws IOException {
    return indexReader.termDocs(term);
  }

  /**
   * @see LuceneIndexReader#termPositions()
   */
  public TermPositions termPositions() throws IOException {
    return indexReader.termPositions();
  }

  /**
   * @see LuceneIndexReader#termPositions(Term)
   */
  public TermPositions termPositions(Term term) throws IOException {
    return indexReader.termPositions(term);
  }

  /**
   * @see LuceneIndexReader#terms()
   */
  public TermEnum terms() throws IOException {
    return indexReader.terms();
  }

  /**
   * @see LuceneIndexReader#terms(Term)
   */
  public TermEnum terms(Term term) throws IOException {
    return indexReader.terms(term);
  }

  /**
   * @see LuceneIndexReader#close()
   */
  public void close() throws IOException {
    indexReader.close();
  }

  /**
   * @see LuceneIndexReader#createSearcher()
   */
  public LuceneSearcher createSearcher() {
    //TODO: to be implemented
    //throw new IllegalAccessException("Not implemented!");
    Searcher nativeSearcher = new IndexSearcher(indexReader);
    return new SimpleLuceneSearcher(nativeSearcher);
  }

  /**
   * @see LuceneIndexReader#deleteDocument(int)
   */
  public void deleteDocument(int docNum) throws IOException {
    indexReader.deleteDocument(docNum);
  }

  /**
   * @see LuceneIndexReader#deleteDocuments(Term)
   */
  public int deleteDocuments(Term term) throws IOException {
    return indexReader.deleteDocuments(term);
  }

  /**
   * @see LuceneIndexReader#setNorm(int, String, byte)
   */
  public void setNorm(int doc, String field, byte value) throws IOException {
    indexReader.setNorm(doc, field, value);
  }

  /**
   * @see LuceneIndexReader#undeleteAll()
   */
  public void undeleteAll() throws IOException {
    indexReader.undeleteAll();
  }

  /**
   * @see LuceneIndexReader#createNativeSearcher()
   */
  public Searcher createNativeSearcher() {
    return new IndexSearcher(indexReader);
  }
}
TOP

Related Classes of org.springmodules.lucene.index.factory.SimpleLuceneIndexReader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.