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

#ifndef __org_apache_lucene_search_FieldCacheImpl__
#define __org_apache_lucene_search_FieldCacheImpl__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace index
        {
          class IndexReader;
        }
        namespace search
        {
          class FieldCacheImpl;
          class SortComparator;
          class FieldCache$StringIndex;
          class FieldCache$FloatParser;
          class FieldCache$IntParser;
        }
      }
    }
  }
}

class org::apache::lucene::search::FieldCacheImpl : public ::java::lang::Object
{
public: // actually package-private
  FieldCacheImpl ();
  virtual ::java::lang::Object *lookup (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, jint, ::java::util::Locale *);
  virtual ::java::lang::Object *lookup (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::java::lang::Object *);
  virtual ::java::lang::Object *store (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, jint, ::java::util::Locale *, ::java::lang::Object *);
  virtual ::java::lang::Object *store (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::java::lang::Object *, ::java::lang::Object *);
public:
  virtual jintArray getInts (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  virtual jintArray getInts (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::org::apache::lucene::search::FieldCache$IntParser *);
  virtual jfloatArray getFloats (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  virtual jfloatArray getFloats (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::org::apache::lucene::search::FieldCache$FloatParser *);
  virtual JArray< ::java::lang::String *> *getStrings (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  virtual ::org::apache::lucene::search::FieldCache$StringIndex *getStringIndex (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  virtual ::java::lang::Object *getAuto (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  virtual JArray< ::java::lang::Comparable *> *getCustom (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::org::apache::lucene::search::SortComparator *);
private:
  static ::org::apache::lucene::search::FieldCache$IntParser *INT_PARSER;
  static ::org::apache::lucene::search::FieldCache$FloatParser *FLOAT_PARSER;
public: // actually package-private
  ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object )))) cache;

  friend class org_apache_lucene_search_FieldCacheImpl$Entry;
  friend class org_apache_lucene_search_FieldCache$IntParser;
  friend class org_apache_lucene_search_FieldCache$FloatParser;
  friend class org_apache_lucene_search_FieldCache$StringIndex;
  friend class org_apache_lucene_search_FieldCacheImpl$1;
  friend class org_apache_lucene_search_FieldCacheImpl$2;
public:

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

#endif /* __org_apache_lucene_search_FieldCacheImpl__ */
