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

#ifndef __gnu_xml_stream_XMLParser$Doctype__
#define __gnu_xml_stream_XMLParser$Doctype__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace stream
      {
          class XMLParser;
          class XMLParser$AttributeDecl;
          class XMLParser$ContentModel;
          class XMLParser$Doctype;
          class XMLParser$ExternalIds;
      }
    }
  }
}

class gnu::xml::stream::XMLParser$Doctype : public ::java::lang::Object
{

public: // actually package-private
  XMLParser$Doctype(::gnu::xml::stream::XMLParser *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  virtual void addElementDecl(::java::lang::String *, ::java::lang::String *, ::gnu::xml::stream::XMLParser$ContentModel *);
  virtual void addAttributeDecl(::java::lang::String *, ::java::lang::String *, ::gnu::xml::stream::XMLParser$AttributeDecl *);
  virtual void addEntityDecl(::java::lang::String *, ::java::lang::String *, jboolean);
  virtual void addEntityDecl(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean);
  virtual void addNotationDecl(::java::lang::String *, ::gnu::xml::stream::XMLParser$ExternalIds *, jboolean);
  virtual void addComment(::java::lang::String *);
  virtual void addPI(::java::lang::String *, ::java::lang::String *);
  virtual ::gnu::xml::stream::XMLParser$ContentModel * getElementModel(::java::lang::String *);
  virtual ::gnu::xml::stream::XMLParser$AttributeDecl * getAttributeDecl(::java::lang::String *, ::java::lang::String *);
  virtual jboolean isAttributeDeclared(::java::lang::String *, ::java::lang::String *);
  virtual ::java::util::Iterator * attlistIterator(::java::lang::String *);
  virtual ::java::lang::Object * getEntity(::java::lang::String *);
  virtual jboolean isEntityExternal(::java::lang::String *);
  virtual ::java::util::Iterator * entityIterator();
  virtual ::gnu::xml::stream::XMLParser$ExternalIds * getNotation(::java::lang::String *);
  virtual jboolean isNotationExternal(::java::lang::String *);
  virtual ::java::lang::String * getComment(::java::lang::String *);
  virtual JArray< ::java::lang::String * > * getPI(::java::lang::String *);
  virtual ::java::util::Iterator * entryIterator();
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rootName;
  ::java::lang::String * publicId;
  ::java::lang::String * systemId;
private:
  ::java::util::LinkedHashMap * elements;
  ::java::util::LinkedHashMap * attlists;
  ::java::util::LinkedHashMap * entities;
  ::java::util::LinkedHashMap * notations;
  ::java::util::LinkedHashMap * comments;
  ::java::util::LinkedHashMap * pis;
  ::java::util::LinkedList * entries;
  ::java::util::HashSet * externalEntities;
  ::java::util::HashSet * externalNotations;
  jint anon;
public: // actually package-private
  ::gnu::xml::stream::XMLParser * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_stream_XMLParser$Doctype__
