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

#ifndef __gnu_xml_util_SAXNullTransformerFactory$DomHandler__
#define __gnu_xml_util_SAXNullTransformerFactory$DomHandler__

#pragma interface

#include <gnu/xml/dom/Consumer$Backdoor.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace pipeline
      {
          class DomConsumer;
      }
      namespace util
      {
          class SAXNullTransformerFactory$DomHandler;
      }
    }
  }
  namespace javax
  {
    namespace xml
    {
      namespace transform
      {
        namespace dom
        {
            class DOMResult;
        }
      }
    }
  }
}

class gnu::xml::util::SAXNullTransformerFactory$DomHandler : public ::gnu::xml::dom::Consumer$Backdoor
{

public: // actually package-private
  SAXNullTransformerFactory$DomHandler(::gnu::xml::pipeline::DomConsumer *, ::javax::xml::transform::dom::DOMResult *);
public:
  virtual void endDocument();
private:
  ::javax::xml::transform::dom::DOMResult * __attribute__((aligned(__alignof__( ::gnu::xml::dom::Consumer$Backdoor)))) result;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_util_SAXNullTransformerFactory$DomHandler__
