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

#ifndef __org_apache_lucene_search_FieldSortedHitQueue__
#define __org_apache_lucene_search_FieldSortedHitQueue__

#pragma interface

#include <org/apache/lucene/util/PriorityQueue.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace index
        {
          class IndexReader;
        }
        namespace search
        {
          class FieldSortedHitQueue;
          class SortComparatorSource;
          class FieldDoc;
          class FieldCacheImpl$Cache;
          class SortField;
          class ScoreDocComparator;
        }
      }
    }
  }
}

class org::apache::lucene::search::FieldSortedHitQueue : public ::org::apache::lucene::util::PriorityQueue
{
public:
  FieldSortedHitQueue (::org::apache::lucene::index::IndexReader *, JArray< ::org::apache::lucene::search::SortField *> *, jint);
  virtual jfloat getMaxScore () { return maxscore; }
  virtual jboolean insert (::org::apache::lucene::search::FieldDoc *);
  virtual jboolean insert (::java::lang::Object *);
public:  // actually protected
  virtual jboolean lessThan (::java::lang::Object *, ::java::lang::Object *);
public: // actually package-private
  virtual ::org::apache::lucene::search::FieldDoc *fillFields (::org::apache::lucene::search::FieldDoc *);
  virtual JArray< ::org::apache::lucene::search::SortField *> *getFields () { return fields; }
  static ::org::apache::lucene::search::ScoreDocComparator *getCachedComparator (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, jint, ::java::util::Locale *, ::org::apache::lucene::search::SortComparatorSource *);
  static ::org::apache::lucene::search::ScoreDocComparator *comparatorInt (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  static ::org::apache::lucene::search::ScoreDocComparator *comparatorFloat (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  static ::org::apache::lucene::search::ScoreDocComparator *comparatorString (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  static ::org::apache::lucene::search::ScoreDocComparator *comparatorStringLocale (::org::apache::lucene::index::IndexReader *, ::java::lang::String *, ::java::util::Locale *);
  static ::org::apache::lucene::search::ScoreDocComparator *comparatorAuto (::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
public:  // actually protected
  JArray< ::org::apache::lucene::search::ScoreDocComparator *> * __attribute__((aligned(__alignof__( ::org::apache::lucene::util::PriorityQueue )))) comparators;
  JArray< ::org::apache::lucene::search::SortField *> *fields;
  jfloat maxscore;
public: // actually package-private
  static ::org::apache::lucene::search::FieldCacheImpl$Cache *Comparators;

  friend class org_apache_lucene_search_FieldCacheImpl$Cache;
  friend class org_apache_lucene_search_FieldCacheImpl$Entry;
  friend class org_apache_lucene_search_FieldCache$StringIndex;
  friend class org_apache_lucene_search_FieldSortedHitQueue$2;
  friend class org_apache_lucene_search_FieldSortedHitQueue$3;
  friend class org_apache_lucene_search_FieldSortedHitQueue$4;
  friend class org_apache_lucene_search_FieldSortedHitQueue$5;
  friend class org_apache_lucene_search_FieldSortedHitQueue$1;
public:

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

#endif /* __org_apache_lucene_search_FieldSortedHitQueue__ */
