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

#ifndef __org_apache_lucene_search_PhraseQuery__
#define __org_apache_lucene_search_PhraseQuery__

#pragma interface

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

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace search
        {
          class PhraseQuery;
          class Weight;
          class Searcher;
        }
        namespace index
        {
          class Term;
        }
      }
    }
  }
}

class org::apache::lucene::search::PhraseQuery : public ::org::apache::lucene::search::Query
{
public:
  PhraseQuery ();
  virtual void setSlop (jint);
  virtual jint getSlop () { return slop; }
  virtual void add (::org::apache::lucene::index::Term *);
  virtual void add (::org::apache::lucene::index::Term *, jint);
  virtual JArray< ::org::apache::lucene::index::Term *> *getTerms ();
  virtual jintArray getPositions ();
public:  // actually protected
  virtual ::org::apache::lucene::search::Weight *createWeight (::org::apache::lucene::search::Searcher *);
public:
  virtual void extractTerms (::java::util::Set *);
  virtual ::java::lang::String *toString (::java::lang::String *);
  virtual jboolean equals (::java::lang::Object *);
  virtual jint hashCode ();
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::org::apache::lucene::search::Query )))) field;
  ::java::util::Vector *terms;
  ::java::util::Vector *positions;
  jint slop;

  friend class org_apache_lucene_search_PhraseQuery$PhraseWeight;
public:

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

#endif /* __org_apache_lucene_search_PhraseQuery__ */
