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

#ifndef __org_xml_sax_XMLReader__
#define __org_xml_sax_XMLReader__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class ContentHandler;
          class DTDHandler;
          class EntityResolver;
          class ErrorHandler;
          class InputSource;
          class XMLReader;
      }
    }
  }
}

class org::xml::sax::XMLReader : public ::java::lang::Object
{

public:
  virtual jboolean getFeature(::java::lang::String *) = 0;
  virtual void setFeature(::java::lang::String *, jboolean) = 0;
  virtual ::java::lang::Object * getProperty(::java::lang::String *) = 0;
  virtual void setProperty(::java::lang::String *, ::java::lang::Object *) = 0;
  virtual void setEntityResolver(::org::xml::sax::EntityResolver *) = 0;
  virtual ::org::xml::sax::EntityResolver * getEntityResolver() = 0;
  virtual void setDTDHandler(::org::xml::sax::DTDHandler *) = 0;
  virtual ::org::xml::sax::DTDHandler * getDTDHandler() = 0;
  virtual void setContentHandler(::org::xml::sax::ContentHandler *) = 0;
  virtual ::org::xml::sax::ContentHandler * getContentHandler() = 0;
  virtual void setErrorHandler(::org::xml::sax::ErrorHandler *) = 0;
  virtual ::org::xml::sax::ErrorHandler * getErrorHandler() = 0;
  virtual void parse(::org::xml::sax::InputSource *) = 0;
  virtual void parse(::java::lang::String *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_xml_sax_XMLReader__
