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

#ifndef __gnu_java_beans_decoder_NullHandler__
#define __gnu_java_beans_decoder_NullHandler__

#pragma interface

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

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

public: // actually package-private
  NullHandler(::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_NullHandler__
