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

#ifndef __gnu_xml_validation_xmlschema_AttributeUse__
#define __gnu_xml_validation_xmlschema_AttributeUse__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace validation
      {
        namespace xmlschema
        {
            class AttributeDeclaration;
            class AttributeUse;
        }
      }
    }
  }
}

class gnu::xml::validation::xmlschema::AttributeUse : public ::java::lang::Object
{

public: // actually package-private
  AttributeUse(jboolean, jint, ::java::lang::String *, ::gnu::xml::validation::xmlschema::AttributeDeclaration *);
  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) required;
  jint type;
  ::java::lang::String * value;
  ::gnu::xml::validation::xmlschema::AttributeDeclaration * declaration;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_validation_xmlschema_AttributeUse__
