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

#ifndef __gnu_xml_dom_DomCDATASection__
#define __gnu_xml_dom_DomCDATASection__

#pragma interface

#include <gnu/xml/dom/DomText.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace dom
      {
          class DomCDATASection;
          class DomDocument;
      }
    }
  }
}

class gnu::xml::dom::DomCDATASection : public ::gnu::xml::dom::DomText
{

public: // actually protected
  DomCDATASection(::gnu::xml::dom::DomDocument *, ::java::lang::String *);
  DomCDATASection(::gnu::xml::dom::DomDocument *, JArray< jchar > *, jint, jint);
public:
  virtual ::java::lang::String * getNodeName();
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_dom_DomCDATASection__
