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

#ifndef __gnu_java_beans_decoder_DoubleHandler__
#define __gnu_java_beans_decoder_DoubleHandler__

#pragma interface

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

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

public: // actually package-private
  DoubleHandler(::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_DoubleHandler__
