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

#ifndef __gnu_java_beans_decoder_LongHandler__
#define __gnu_java_beans_decoder_LongHandler__

#pragma interface

#include <gnu/java/beans/decoder/SimpleHandler.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace beans
      {
        namespace decoder
        {
            class ElementHandler;
            class LongHandler;
        }
      }
    }
  }
}

class gnu::java::beans::decoder::LongHandler : public ::gnu::java::beans::decoder::SimpleHandler
{

public: // actually package-private
  LongHandler(::gnu::java::beans::decoder::ElementHandler *);
public: // actually protected
  virtual ::java::lang::Object * parse(::java::lang::String *);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_beans_decoder_LongHandler__
