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

#ifndef __org_apache_lucene_search_highlight_QueryScorer__
#define __org_apache_lucene_search_highlight_QueryScorer__

#pragma interface

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

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace analysis
        {
          class Token;
        }
        namespace index
        {
          class IndexReader;
        }
        namespace search
        {
          class Query;
          namespace highlight
          {
            class QueryScorer;
            class WeightedTerm;
            class TextFragment;
          }
        }
      }
    }
  }
}

class org::apache::lucene::search::highlight::QueryScorer : public ::java::lang::Object
{
public:
  QueryScorer (::org::apache::lucene::search::Query *);
  QueryScorer (::org::apache::lucene::search::Query *, ::java::lang::String *);
  QueryScorer (::org::apache::lucene::search::Query *, ::org::apache::lucene::index::IndexReader *, ::java::lang::String *);
  QueryScorer (JArray< ::org::apache::lucene::search::highlight::WeightedTerm *> *);
  virtual void startFragment (::org::apache::lucene::search::highlight::TextFragment *);
  virtual jfloat getTokenScore (::org::apache::lucene::analysis::Token *);
  virtual jfloat getFragmentScore () { return totalScore; }
  virtual void allFragmentsProcessed () { }
  virtual jfloat getMaxTermWeight () { return maxTermWeight; }
public: // actually package-private
  ::org::apache::lucene::search::highlight::TextFragment * __attribute__((aligned(__alignof__( ::java::lang::Object )))) currentTextFragment;
  ::java::util::HashSet *uniqueTermsInFragment;
  jfloat totalScore;
  jfloat maxTermWeight;
private:
  ::java::util::HashMap *termsToFind;
public:

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

#endif /* __org_apache_lucene_search_highlight_QueryScorer__ */
