
// 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 gnu
  {
    namespace java
    {
      namespace beans
      {
          class BeanInfoEmbryo;
          class IntrospectionIncubator;
      }
    }
  }
  namespace java
  {
    namespace beans
    {
        class BeanInfo;
    }
  }
}

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 jboolean isReachable(::java::lang::Class *, ::java::lang::Class *);
  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 = 0;
  static const jint GET_I = 1;
  static const jint SET_I = 2;
  static const jint GET = 3;
  static const jint SET = 4;
  static const jint ADD = 0;
  static const jint REMOVE = 1;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_beans_IntrospectionIncubator__
