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

#ifndef __org_w3c_dom_xpath_XPathException__
#define __org_w3c_dom_xpath_XPathException__

#pragma interface

#include <java/lang/RuntimeException.h>
extern "Java"
{
  namespace org
  {
    namespace w3c
    {
      namespace dom
      {
        namespace xpath
        {
            class XPathException;
        }
      }
    }
  }
}

class org::w3c::dom::xpath::XPathException : public ::java::lang::RuntimeException
{

public:
  XPathException(jshort, ::java::lang::String *);
  jshort __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) code;
  static const jshort INVALID_EXPRESSION_ERR = 51;
  static const jshort TYPE_ERR = 52;
  static ::java::lang::Class class$;
};

#endif // __org_w3c_dom_xpath_XPathException__
