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

#ifndef __gnu_java_beans_editors_NativeIntEditor__
#define __gnu_java_beans_editors_NativeIntEditor__

#pragma interface

#include <java/beans/PropertyEditorSupport.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace beans
      {
        namespace editors
        {
            class NativeIntEditor;
        }
      }
    }
  }
}

class gnu::java::beans::editors::NativeIntEditor : public ::java::beans::PropertyEditorSupport
{

public:
  NativeIntEditor();
  virtual void setAsText(::java::lang::String *);
  virtual ::java::lang::String * getAsText();
  static ::java::lang::Class class$;
};

#endif // __gnu_java_beans_editors_NativeIntEditor__
