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

#ifndef __org_apache_lucene_store_RAMDirectory__
#define __org_apache_lucene_store_RAMDirectory__

#pragma interface

#include <org/apache/lucene/store/Directory.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace store
        {
          class RAMDirectory;
          class IndexInput;
          class IndexOutput;
          class Directory;
        }
      }
    }
  }
}

class org::apache::lucene::store::RAMDirectory : public ::org::apache::lucene::store::Directory
{
public:
  RAMDirectory ();
  RAMDirectory (::org::apache::lucene::store::Directory *);
private:
  RAMDirectory (::org::apache::lucene::store::Directory *, jboolean);
public:
  RAMDirectory (::java::io::File *);
  RAMDirectory (::java::lang::String *);
  JArray< ::java::lang::String *> *list ();
  jboolean fileExists (::java::lang::String *);
  jlong fileModified (::java::lang::String *);
  void touchFile (::java::lang::String *);
  jlong fileLength (::java::lang::String *);
  jlong sizeInBytes ();
  jlong getRecomputedSizeInBytes ();
  void deleteFile (::java::lang::String *);
  void renameFile (::java::lang::String *, ::java::lang::String *);
  ::org::apache::lucene::store::IndexOutput *createOutput (::java::lang::String *);
  ::org::apache::lucene::store::IndexInput *openInput (::java::lang::String *);
  void close ();
private:
  static const jlong serialVersionUID = 1LL;
  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::org::apache::lucene::store::Directory )))) fileMap;
  ::java::util::Set *fileNames;
  ::java::util::Collection *files;
public: // actually package-private
  jlong sizeInBytes__;
public:

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

#endif /* __org_apache_lucene_store_RAMDirectory__ */
