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

#ifndef __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__
#define __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__

#pragma interface

#include <org/xml/sax/helpers/LocatorImpl.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace util
      {
          class SAXNullTransformerFactory$LocatorAdapter;
      }
    }
  }
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class SAXParseException;
      }
    }
  }
}

class gnu::xml::util::SAXNullTransformerFactory$LocatorAdapter : public ::org::xml::sax::helpers::LocatorImpl
{

public: // actually package-private
  SAXNullTransformerFactory$LocatorAdapter(::org::xml::sax::SAXParseException *);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_util_SAXNullTransformerFactory$LocatorAdapter__
