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

#ifndef __gnu_xml_dom_DomComment__
#define __gnu_xml_dom_DomComment__

#pragma interface

#include <gnu/xml/dom/DomCharacterData.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace dom
      {
          class DomComment;
          class DomDocument;
      }
    }
  }
}

class gnu::xml::dom::DomComment : public ::gnu::xml::dom::DomCharacterData
{

public: // actually protected
  DomComment(::gnu::xml::dom::DomDocument *, ::java::lang::String *);
public:
  virtual ::java::lang::String * getNodeName();
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_dom_DomComment__
