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

#ifndef __org_apache_lucene_search_FuzzyLikeThisQuery__
#define __org_apache_lucene_search_FuzzyLikeThisQuery__

#pragma interface

#include <org/apache/lucene/search/Query.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace index
        {
          class IndexReader;
        }
        namespace analysis
        {
          class Analyzer;
        }
        namespace search
        {
          class FuzzyLikeThisQuery;
          class FuzzyLikeThisQuery$FieldVals;
          class FuzzyLikeThisQuery$ScoreTermQueue;
          class Query;
          class Similarity;
        }
      }
    }
  }
}

class org::apache::lucene::search::FuzzyLikeThisQuery : public ::org::apache::lucene::search::Query
{
public:
  FuzzyLikeThisQuery (jint, ::org::apache::lucene::analysis::Analyzer *);
  virtual void addTerms (::java::lang::String *, ::java::lang::String *, jfloat, jint);
private:
  void addTerms (::org::apache::lucene::index::IndexReader *, ::org::apache::lucene::search::FuzzyLikeThisQuery$FieldVals *);
public:
  virtual ::org::apache::lucene::search::Query *rewrite (::org::apache::lucene::index::IndexReader *);
  virtual ::java::lang::String *toString (::java::lang::String *) { return 0; }
  virtual jboolean isIgnoreTF () { return ignoreTF; }
  virtual void setIgnoreTF (jboolean);
public: // actually package-private
  static ::org::apache::lucene::search::Similarity *sim;
  ::org::apache::lucene::search::Query * __attribute__((aligned(__alignof__( ::org::apache::lucene::search::Query )))) rewrittenQuery;
  ::java::util::ArrayList *fieldVals;
  ::org::apache::lucene::analysis::Analyzer *analyzer;
  ::org::apache::lucene::search::FuzzyLikeThisQuery$ScoreTermQueue *q;
  jint MAX_VARIANTS_PER_TERM;
  jboolean ignoreTF;

  friend class org_apache_lucene_search_FuzzyLikeThisQuery$FuzzyTermQuery;
  friend class org_apache_lucene_search_FuzzyLikeThisQuery$ScoreTermQueue;
  friend class org_apache_lucene_search_FuzzyLikeThisQuery$ScoreTerm;
  friend class org_apache_lucene_search_FuzzyLikeThisQuery$FieldVals;
  friend class org_apache_lucene_search_BooleanClause$Occur;
public:

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

#endif /* __org_apache_lucene_search_FuzzyLikeThisQuery__ */
