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

#ifndef __gnu_java_beans_encoder_Writer__
#define __gnu_java_beans_encoder_Writer__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace beans
      {
        namespace encoder
        {
            class Writer;
        }
      }
    }
  }
}

class gnu::java::beans::encoder::Writer : public ::java::lang::Object
{

public:
  virtual void writePreamble() = 0;
  virtual void writeEnd(jboolean) = 0;
  virtual void write(::java::lang::String *, jboolean) = 0;
  virtual void write(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jboolean) = 0;
  virtual void write(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0;
  virtual void write(::java::lang::String *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, jboolean) = 0;
  virtual void write(::java::lang::String *, ::java::lang::String *) = 0;
  virtual void writeNoChildren(::java::lang::String *, ::java::lang::String *) = 0;
  virtual void writeEndNoChildren() = 0;
  virtual void flush() = 0;
  virtual void close() = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_java_beans_encoder_Writer__
