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

#ifndef __javax_xml_xpath_XPathFunctionException__
#define __javax_xml_xpath_XPathFunctionException__

#pragma interface

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

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

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

#endif // __javax_xml_xpath_XPathFunctionException__
