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

#ifndef __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__
#define __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__

#pragma interface

#include <gnu/javax/swing/text/html/parser/models/node.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace swing
      {
        namespace text
        {
          namespace html
          {
            namespace parser
            {
              namespace models
              {
                  class PCDATAonly_model;
              }
            }
          }
        }
      }
    }
  }
}

class gnu::javax::swing::text::html::parser::models::PCDATAonly_model : public ::gnu::javax::swing::text::html::parser::models::node
{

public:
  PCDATAonly_model();
  virtual ::java::lang::Object * show(::java::lang::Object *);
private:
  static const jlong serialVersionUID = 1LL;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__
