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

#ifndef __gnu_xml_libxmlj_dom_GnomeNotation__
#define __gnu_xml_libxmlj_dom_GnomeNotation__

#pragma interface

#include <gnu/xml/libxmlj/dom/GnomeNode.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace libxmlj
      {
        namespace dom
        {
            class GnomeNotation;
        }
      }
    }
  }
}

class gnu::xml::libxmlj::dom::GnomeNotation : public ::gnu::xml::libxmlj::dom::GnomeNode
{

public: // actually package-private
  GnomeNotation(::java::lang::Object *);
public:
  virtual ::java::lang::String * getPublicId();
  virtual ::java::lang::String * getSystemId();
  virtual ::java::lang::String * toString();
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_libxmlj_dom_GnomeNotation__
