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

#ifndef __javax_swing_text_DefaultStyledDocument$SectionElement__
#define __javax_swing_text_DefaultStyledDocument$SectionElement__

#pragma interface

#include <javax/swing/text/AbstractDocument$BranchElement.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace text
      {
          class DefaultStyledDocument;
          class DefaultStyledDocument$SectionElement;
      }
    }
  }
}

class javax::swing::text::DefaultStyledDocument$SectionElement : public ::javax::swing::text::AbstractDocument$BranchElement
{

public:
  DefaultStyledDocument$SectionElement(::javax::swing::text::DefaultStyledDocument *);
  virtual ::java::lang::String * getName();
public: // actually package-private
  ::javax::swing::text::DefaultStyledDocument * __attribute__((aligned(__alignof__( ::javax::swing::text::AbstractDocument$BranchElement)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_text_DefaultStyledDocument$SectionElement__
