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

#ifndef __javax_swing_event_DocumentEvent__
#define __javax_swing_event_DocumentEvent__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace event
      {
          class DocumentEvent;
          class DocumentEvent$ElementChange;
          class DocumentEvent$EventType;
      }
      namespace text
      {
          class Document;
          class Element;
      }
    }
  }
}

class javax::swing::event::DocumentEvent : public ::java::lang::Object
{

public:
  virtual ::javax::swing::event::DocumentEvent$EventType * getType() = 0;
  virtual jint getOffset() = 0;
  virtual jint getLength() = 0;
  virtual ::javax::swing::text::Document * getDocument() = 0;
  virtual ::javax::swing::event::DocumentEvent$ElementChange * getChange(::javax::swing::text::Element *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_swing_event_DocumentEvent__
