// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __org_apache_lucene_index_IndexModifier__
#define __org_apache_lucene_index_IndexModifier__

#pragma interface

#include <java/lang/Object.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace document
        {
          class Document;
        }
        namespace analysis
        {
          class Analyzer;
        }
        namespace store
        {
          class Directory;
        }
        namespace index
        {
          class IndexModifier;
          class Term;
          class IndexReader;
          class IndexWriter;
        }
      }
    }
  }
}

class org::apache::lucene::index::IndexModifier : public ::java::lang::Object
{
public:
  IndexModifier (::org::apache::lucene::store::Directory *, ::org::apache::lucene::analysis::Analyzer *, jboolean);
  IndexModifier (::java::lang::String *, ::org::apache::lucene::analysis::Analyzer *, jboolean);
  IndexModifier (::java::io::File *, ::org::apache::lucene::analysis::Analyzer *, jboolean);
public:  // actually protected
  virtual void init (::org::apache::lucene::store::Directory *, ::org::apache::lucene::analysis::Analyzer *, jboolean);
  virtual void assureOpen ();
  virtual void createIndexWriter ();
  virtual void createIndexReader ();
public:
  virtual void flush ();
  virtual void addDocument (::org::apache::lucene::document::Document *, ::org::apache::lucene::analysis::Analyzer *);
  virtual void addDocument (::org::apache::lucene::document::Document *);
  virtual jint deleteDocuments (::org::apache::lucene::index::Term *);
  virtual void deleteDocument (jint);
  virtual jint docCount ();
  virtual void optimize ();
  virtual void setInfoStream (::java::io::PrintStream *);
  virtual ::java::io::PrintStream *getInfoStream ();
  virtual void setUseCompoundFile (jboolean);
  virtual jboolean getUseCompoundFile ();
  virtual void setMaxFieldLength (jint);
  virtual jint getMaxFieldLength ();
  virtual void setMaxBufferedDocs (jint);
  virtual jint getMaxBufferedDocs ();
  virtual void setMergeFactor (jint);
  virtual jint getMergeFactor ();
  virtual void close ();
  virtual ::java::lang::String *toString ();
public:  // actually protected
  ::org::apache::lucene::index::IndexWriter * __attribute__((aligned(__alignof__( ::java::lang::Object )))) indexWriter;
  ::org::apache::lucene::index::IndexReader *indexReader;
  ::org::apache::lucene::store::Directory *directory;
  ::org::apache::lucene::analysis::Analyzer *analyzer;
  jboolean open;
  ::java::io::PrintStream *infoStream;
  jboolean useCompoundFile;
  jint maxBufferedDocs;
  jint maxFieldLength;
  jint mergeFactor;
public:

  static ::java::lang::Class class$;
};

#endif /* __org_apache_lucene_index_IndexModifier__ */
