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

#ifndef __org_apache_lucene_index_FieldsReader$LazyField__
#define __org_apache_lucene_index_FieldsReader$LazyField__

#pragma interface

#include <org/apache/lucene/document/AbstractField.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace document
        {
          class Field$TermVector;
          class Field$Index;
          class Field$Store;
        }
        namespace index
        {
          class FieldsReader$LazyField;
          class FieldsReader;
        }
      }
    }
  }
}

class org::apache::lucene::index::FieldsReader$LazyField : public ::org::apache::lucene::document::AbstractField
{
public:
  FieldsReader$LazyField (::org::apache::lucene::index::FieldsReader *, ::java::lang::String *, ::org::apache::lucene::document::Field$Store *, jint, jlong);
  FieldsReader$LazyField (::org::apache::lucene::index::FieldsReader *, ::java::lang::String *, ::org::apache::lucene::document::Field$Store *, ::org::apache::lucene::document::Field$Index *, ::org::apache::lucene::document::Field$TermVector *, jint, jlong);
  virtual jbyteArray binaryValue ();
  virtual ::java::io::Reader *readerValue ();
  virtual ::java::lang::String *stringValue ();
  virtual jlong getPointer () { return pointer; }
  virtual void setPointer (jlong);
  virtual jint getToRead () { return toRead; }
  virtual void setToRead (jint);
private:
  jint __attribute__((aligned(__alignof__( ::org::apache::lucene::document::AbstractField ))))  toRead;
  jlong pointer;
  jcharArray chars;
  ::org::apache::lucene::index::FieldsReader *this$0;

  friend class org_apache_lucene_document_Field$Store;
  friend class org_apache_lucene_index_FieldsReader$LazyField;
  friend class org_apache_lucene_document_Field$Index;
  friend class org_apache_lucene_document_Field$TermVector;
public:

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

#endif /* __org_apache_lucene_index_FieldsReader$LazyField__ */
