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

#ifndef __org_apache_lucene_index_TermInfosWriter__
#define __org_apache_lucene_index_TermInfosWriter__

#pragma interface

#include <java/lang/Object.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace store
        {
          class Directory;
          class IndexOutput;
        }
        namespace index
        {
          class TermInfosWriter;
          class TermInfo;
          class Term;
          class FieldInfos;
        }
      }
    }
  }
}

class org::apache::lucene::index::TermInfosWriter : public ::java::lang::Object
{
public: // actually package-private
  TermInfosWriter (::org::apache::lucene::store::Directory *, ::java::lang::String *, ::org::apache::lucene::index::FieldInfos *, jint);
private:
  TermInfosWriter (::org::apache::lucene::store::Directory *, ::java::lang::String *, ::org::apache::lucene::index::FieldInfos *, jint, jboolean);
  void initialize (::org::apache::lucene::store::Directory *, ::java::lang::String *, ::org::apache::lucene::index::FieldInfos *, jint, jboolean);
public: // actually package-private
  void add (::org::apache::lucene::index::Term *, ::org::apache::lucene::index::TermInfo *);
private:
  void writeTerm (::org::apache::lucene::index::Term *);
public: // actually package-private
  void close ();
public:
  static const jint FORMAT = -2L;
private:
  ::org::apache::lucene::index::FieldInfos * __attribute__((aligned(__alignof__( ::java::lang::Object )))) fieldInfos;
  ::org::apache::lucene::store::IndexOutput *output;
  ::org::apache::lucene::index::Term *lastTerm;
  ::org::apache::lucene::index::TermInfo *lastTi;
  jlong size;
public: // actually package-private
  jint indexInterval;
  jint skipInterval;
private:
  jlong lastIndexPointer;
  jboolean isIndex;
  ::org::apache::lucene::index::TermInfosWriter *other;
public:

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

#endif /* __org_apache_lucene_index_TermInfosWriter__ */
