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

#ifndef __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__
#define __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace aelfred2
      {
          class XmlParser$ExternalIdentifiers;
      }
    }
  }
}

class gnu::xml::aelfred2::XmlParser$ExternalIdentifiers : public ::java::lang::Object
{

public: // actually package-private
  XmlParser$ExternalIdentifiers();
  XmlParser$ExternalIdentifiers(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) publicId;
  ::java::lang::String * systemId;
  ::java::lang::String * baseUri;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_aelfred2_XmlParser$ExternalIdentifiers__
