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

#ifndef __javax_swing_text_rtf_ControlWordToken__
#define __javax_swing_text_rtf_ControlWordToken__

#pragma interface

#include <javax/swing/text/rtf/Token.h>
extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace text
      {
        namespace rtf
        {
            class ControlWordToken;
        }
      }
    }
  }
}

class javax::swing::text::rtf::ControlWordToken : public ::javax::swing::text::rtf::Token
{

public:
  ControlWordToken(::java::lang::String *);
  ControlWordToken(::java::lang::String *, jint);
  ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::rtf::Token)))) name;
  jint param;
  static ::java::lang::Class class$;
};

#endif // __javax_swing_text_rtf_ControlWordToken__
