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

#ifndef __gnu_xml_stream_XMLParser$ExternalIds__
#define __gnu_xml_stream_XMLParser$ExternalIds__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace stream
      {
          class XMLParser;
          class XMLParser$ExternalIds;
      }
    }
  }
}

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

public: // actually package-private
  XMLParser$ExternalIds(::gnu::xml::stream::XMLParser *);
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId;
  ::java::lang::String * systemId;
  ::java::lang::String * notationName;
  ::gnu::xml::stream::XMLParser * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_stream_XMLParser$ExternalIds__
