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

#ifndef __gnu_gcj_tools_gcj_dbtool_Tokenizer__
#define __gnu_gcj_tools_gcj_dbtool_Tokenizer__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace tools
      {
        namespace gcj_dbtool
        {
            class Tokenizer;
        }
      }
    }
  }
}

class gnu::gcj::tools::gcj_dbtool::Tokenizer : public ::java::lang::Object
{

public: // actually package-private
  Tokenizer(::java::io::Reader *, jchar);
  virtual jboolean isSeparator(jint);
  virtual ::java::lang::String * nextToken();
  ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) r;
  jchar separator;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_tools_gcj_dbtool_Tokenizer__
