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

#ifndef __javax_imageio_ImageIO$WriterMIMETypeFilter__
#define __javax_imageio_ImageIO$WriterMIMETypeFilter__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace javax
  {
    namespace imageio
    {
        class ImageIO$WriterMIMETypeFilter;
    }
  }
}

class javax::imageio::ImageIO$WriterMIMETypeFilter : public ::java::lang::Object
{

public:
  ImageIO$WriterMIMETypeFilter(::java::lang::String *);
  jboolean filter(::java::lang::Object *);
private:
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) MIMEType;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_imageio_ImageIO$WriterMIMETypeFilter__
