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

#ifndef __org_apache_lucene_search_SortField__
#define __org_apache_lucene_search_SortField__

#pragma interface

#include <java/lang/Object.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace search
        {
          class SortComparatorSource;
          class SortField;
        }
      }
    }
  }
}

class org::apache::lucene::search::SortField : public ::java::lang::Object
{
public:
  SortField (::java::lang::String *);
  SortField (::java::lang::String *, jboolean);
  SortField (::java::lang::String *, jint);
  SortField (::java::lang::String *, jint, jboolean);
  SortField (::java::lang::String *, ::java::util::Locale *);
  SortField (::java::lang::String *, ::java::util::Locale *, jboolean);
  SortField (::java::lang::String *, ::org::apache::lucene::search::SortComparatorSource *);
  SortField (::java::lang::String *, ::org::apache::lucene::search::SortComparatorSource *, jboolean);
  virtual ::java::lang::String *getField () { return field; }
  virtual jint getType () { return type; }
  virtual ::java::util::Locale *getLocale () { return locale; }
  virtual jboolean getReverse () { return reverse; }
  virtual ::org::apache::lucene::search::SortComparatorSource *getFactory () { return factory; }
  virtual ::java::lang::String *toString ();
  static const jint SCORE = 0L;
  static const jint DOC = 1L;
  static const jint AUTO = 2L;
  static const jint STRING = 3L;
  static const jint INT = 4L;
  static const jint FLOAT = 5L;
  static const jint CUSTOM = 9L;
  static ::org::apache::lucene::search::SortField *FIELD_SCORE;
  static ::org::apache::lucene::search::SortField *FIELD_DOC;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object )))) field;
  jint type;
  ::java::util::Locale *locale;
public: // actually package-private
  jboolean reverse;
private:
  ::org::apache::lucene::search::SortComparatorSource *factory;
public:

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

#endif /* __org_apache_lucene_search_SortField__ */
