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

#ifndef __gnu_xml_stream_XMLParser$ContentModel__
#define __gnu_xml_stream_XMLParser$ContentModel__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace stream
      {
          class XMLParser;
          class XMLParser$ContentModel;
      }
    }
  }
}

class gnu::xml::stream::XMLParser$ContentModel : public ::java::lang::Object
{

public: // actually package-private
  XMLParser$ContentModel(::gnu::xml::stream::XMLParser *, jint);
  static const jint EMPTY = 0;
  static const jint ANY = 1;
  static const jint ELEMENT = 2;
  static const jint MIXED = 3;
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) min;
  jint max;
  jint type;
  ::java::lang::String * text;
  jboolean external;
  ::gnu::xml::stream::XMLParser * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_stream_XMLParser$ContentModel__
