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

#ifndef __javax_swing_Box$Filler$AccessibleBoxFiller__
#define __javax_swing_Box$Filler$AccessibleBoxFiller__

#pragma interface

#include <java/awt/Component$AccessibleAWTComponent.h>
extern "Java"
{
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleRole;
    }
    namespace swing
    {
        class Box$Filler;
        class Box$Filler$AccessibleBoxFiller;
    }
  }
}

class javax::swing::Box$Filler$AccessibleBoxFiller : public ::java::awt::Component$AccessibleAWTComponent
{

public: // actually protected
  Box$Filler$AccessibleBoxFiller(::javax::swing::Box$Filler *);
public:
  virtual ::javax::accessibility::AccessibleRole * getAccessibleRole();
private:
  static const jlong serialVersionUID = 164963348357479321LL;
public: // actually package-private
  ::javax::swing::Box$Filler * __attribute__((aligned(__alignof__( ::java::awt::Component$AccessibleAWTComponent)))) this$1;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_Box$Filler$AccessibleBoxFiller__
