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

#ifndef __gnu_xml_validation_relaxng_ChoiceNameClass__
#define __gnu_xml_validation_relaxng_ChoiceNameClass__

#pragma interface

#include <gnu/xml/validation/relaxng/NameClass.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace validation
      {
        namespace relaxng
        {
            class ChoiceNameClass;
            class NameClass;
        }
      }
    }
  }
}

class gnu::xml::validation::relaxng::ChoiceNameClass : public ::gnu::xml::validation::relaxng::NameClass
{

public: // actually package-private
  ChoiceNameClass();
  virtual jboolean matchesName(::java::lang::String *, ::java::lang::String *);
  ::gnu::xml::validation::relaxng::NameClass * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::NameClass)))) name1;
  ::gnu::xml::validation::relaxng::NameClass * name2;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_validation_relaxng_ChoiceNameClass__
