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

#ifndef __org_w3c_dom_DOMError__
#define __org_w3c_dom_DOMError__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace w3c
    {
      namespace dom
      {
          class DOMError;
          class DOMLocator;
      }
    }
  }
}

class org::w3c::dom::DOMError : public ::java::lang::Object
{

public:
  virtual jshort getSeverity() = 0;
  virtual ::java::lang::String * getMessage() = 0;
  virtual ::java::lang::String * getType() = 0;
  virtual ::java::lang::Object * getRelatedException() = 0;
  virtual ::java::lang::Object * getRelatedData() = 0;
  virtual ::org::w3c::dom::DOMLocator * getLocation() = 0;
  static const jshort SEVERITY_WARNING = 1;
  static const jshort SEVERITY_ERROR = 2;
  static const jshort SEVERITY_FATAL_ERROR = 3;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_w3c_dom_DOMError__
