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

#ifndef __javax_xml_namespace_NamespaceContext__
#define __javax_xml_namespace_NamespaceContext__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace xml
    {
      namespace namespace$
      {
          class NamespaceContext;
      }
    }
  }
}

class javax::xml::namespace$::NamespaceContext : public ::java::lang::Object
{

public:
  virtual ::java::lang::String * getNamespaceURI(::java::lang::String *) = 0;
  virtual ::java::lang::String * getPrefix(::java::lang::String *) = 0;
  virtual ::java::util::Iterator * getPrefixes(::java::lang::String *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __javax_xml_namespace_NamespaceContext__
