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

#ifndef __gnu_javax_swing_text_html_css_CSSParserException__
#define __gnu_javax_swing_text_html_css_CSSParserException__

#pragma interface

#include <java/io/IOException.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace swing
      {
        namespace text
        {
          namespace html
          {
            namespace css
            {
                class CSSParserException;
            }
          }
        }
      }
    }
  }
}

class gnu::javax::swing::text::html::css::CSSParserException : public ::java::io::IOException
{

public:
  CSSParserException(::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_swing_text_html_css_CSSParserException__
