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

#ifndef __java_util_FormatFlagsConversionMismatchException__
#define __java_util_FormatFlagsConversionMismatchException__

#pragma interface

#include <java/util/IllegalFormatException.h>

class java::util::FormatFlagsConversionMismatchException : public ::java::util::IllegalFormatException
{

public:
  FormatFlagsConversionMismatchException(::java::lang::String *, jchar);
  virtual jchar getConversion();
  virtual ::java::lang::String * getFlags();
private:
  static const jlong serialVersionUID = 19120414LL;
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) f;
  jchar c;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_FormatFlagsConversionMismatchException__
