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

#ifndef __org_apache_lucene_index_SegmentInfos__
#define __org_apache_lucene_index_SegmentInfos__

#pragma interface

#include <java/util/Vector.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace store
        {
          class Directory;
        }
        namespace index
        {
          class SegmentInfos;
          class SegmentInfo;
        }
      }
    }
  }
}

class org::apache::lucene::index::SegmentInfos : public ::java::util::Vector
{
public:
  SegmentInfos ();
  ::org::apache::lucene::index::SegmentInfo *info (jint);
  static jlong getCurrentSegmentGeneration (JArray< ::java::lang::String *> *);
  static jlong getCurrentSegmentGeneration (::org::apache::lucene::store::Directory *);
  static ::java::lang::String *getCurrentSegmentFileName (JArray< ::java::lang::String *> *);
  static ::java::lang::String *getCurrentSegmentFileName (::org::apache::lucene::store::Directory *);
  ::java::lang::String *getCurrentSegmentFileName ();
  void read (::org::apache::lucene::store::Directory *, ::java::lang::String *);
  void read (::org::apache::lucene::store::Directory *);
  void write (::org::apache::lucene::store::Directory *);
  jlong getVersion () { return version; }
  static jlong readCurrentVersion (::org::apache::lucene::store::Directory *);
  static void setInfoStream (::java::io::PrintStream *);
  static void setDefaultGenFileRetryCount (jint);
  static jint getDefaultGenFileRetryCount ();
  static void setDefaultGenFileRetryPauseMsec (jint);
  static jint getDefaultGenFileRetryPauseMsec ();
  static void setDefaultGenLookaheadCount (jint);
  static jint getDefaultGenLookahedCount ();
  static ::java::io::PrintStream *getInfoStream ();
private:
  static void message (::java::lang::String *);
public:
  static const jint FORMAT = -1L;
  static const jint FORMAT_LOCKLESS = -2L;
  jint __attribute__((aligned(__alignof__( ::java::util::Vector ))))  counter;
private:
  jlong version;
  jlong generation;
  static ::java::io::PrintStream *infoStream;
  static jint defaultGenFileRetryCount;
  static jint defaultGenFileRetryPauseMsec;
  static jint defaultGenLookaheadCount;

  friend class org_apache_lucene_index_SegmentInfos$FindSegmentsFile;
  friend class org_apache_lucene_index_SegmentInfos$1;
  friend class org_apache_lucene_index_SegmentInfos$2;
public:

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

#endif /* __org_apache_lucene_index_SegmentInfos__ */
