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

#ifndef __java_io_FilterWriter__
#define __java_io_FilterWriter__

#pragma interface

#include <java/io/Writer.h>
#include <gcj/array.h>


class java::io::FilterWriter : public ::java::io::Writer
{

public: // actually protected
  FilterWriter(::java::io::Writer *);
public:
  virtual void close();
  virtual void flush();
  virtual void write(jint);
  virtual void write(JArray< jchar > *, jint, jint);
  virtual void write(::java::lang::String *, jint, jint);
public: // actually protected
  ::java::io::Writer * __attribute__((aligned(__alignof__( ::java::io::Writer)))) out;
public:
  static ::java::lang::Class class$;
};

#endif // __java_io_FilterWriter__
