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

#ifndef __gnu_xml_xpath_Path__
#define __gnu_xml_xpath_Path__

#pragma interface

#include <gnu/xml/xpath/Pattern.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace xpath
      {
          class Path;
      }
    }
  }
  namespace org
  {
    namespace w3c
    {
      namespace dom
      {
          class Node;
      }
    }
  }
}

class gnu::xml::xpath::Path : public ::gnu::xml::xpath::Pattern
{

public: // actually package-private
  Path();
  virtual ::java::util::Collection * evaluate(::org::w3c::dom::Node *, ::java::util::Collection *) = 0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_xpath_Path__
