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

#ifndef __javax_xml_xpath_XPathExpressionException__
#define __javax_xml_xpath_XPathExpressionException__

#pragma interface

#include <javax/xml/xpath/XPathException.h>
extern "Java"
{
  namespace javax
  {
    namespace xml
    {
      namespace xpath
      {
          class XPathExpressionException;
      }
    }
  }
}

class javax::xml::xpath::XPathExpressionException : public ::javax::xml::xpath::XPathException
{

public:
  XPathExpressionException(::java::lang::String *);
  XPathExpressionException(::java::lang::Throwable *);
private:
  static const jlong serialVersionUID = -1837080260374986980LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_xml_xpath_XPathExpressionException__
