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

#ifndef __gnu_java_beans_IntrospectionIncubator__
#define __gnu_java_beans_IntrospectionIncubator__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace beans
    {
      class BeanInfo;
    }
  }
  namespace gnu
  {
    namespace java
    {
      namespace beans
      {
        class IntrospectionIncubator;
        class BeanInfoEmbryo;
      }
    }
  }
};

class ::gnu::java::beans::IntrospectionIncubator : public ::java::lang::Object
{
public:
  IntrospectionIncubator ();
  virtual void addMethod (::java::lang::reflect::Method *);
  virtual void addMethods (JArray< ::java::lang::reflect::Method *> *);
  virtual void setPropertyStopClass (::java::lang::Class *);
  virtual void setEventStopClass (::java::lang::Class *);
  virtual void setMethodStopClass (::java::lang::Class *);
  virtual ::gnu::java::beans::BeanInfoEmbryo *getBeanInfoEmbryo ();
  virtual ::java::beans::BeanInfo *getBeanInfo ();
public: // actually package-private
  virtual void findAddRemovePairs (::gnu::java::beans::BeanInfoEmbryo *);
  virtual void findXXX (::gnu::java::beans::BeanInfoEmbryo *, jint);
  virtual void findXXXInt (::gnu::java::beans::BeanInfoEmbryo *, jint);
  virtual void addToPropertyHash (::java::lang::String *, ::java::lang::reflect::Method *, jint);
  virtual void addToListenerHash (::java::lang::String *, ::java::lang::reflect::Method *, jint);
  static ::java::lang::String *capitalize (::java::lang::String *);
  ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object )))) propertyMethods;
  ::java::util::Hashtable *listenerMethods;
  ::java::util::Vector *otherMethods;
  ::java::lang::Class *propertyStopClass;
  ::java::lang::Class *eventStopClass;
  ::java::lang::Class *methodStopClass;
  static const jint IS = 0L;
  static const jint GET_I = 1L;
  static const jint SET_I = 2L;
  static const jint GET = 3L;
  static const jint SET = 4L;
  static const jint ADD = 0L;
  static const jint REMOVE = 1L;
public:

  static ::java::lang::Class class$;
};

#endif /* __gnu_java_beans_IntrospectionIncubator__ */
