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

#ifndef __java_nio_charset_CodingErrorAction__
#define __java_nio_charset_CodingErrorAction__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace nio
    {
      namespace charset
      {
          class CodingErrorAction;
      }
    }
  }
}

class java::nio::charset::CodingErrorAction : public ::java::lang::Object
{

  CodingErrorAction(::java::lang::String *);
public:
  virtual ::java::lang::String * toString();
  static ::java::nio::charset::CodingErrorAction * IGNORE;
  static ::java::nio::charset::CodingErrorAction * REPLACE;
  static ::java::nio::charset::CodingErrorAction * REPORT;
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
public:
  static ::java::lang::Class class$;
};

#endif // __java_nio_charset_CodingErrorAction__
