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

#ifndef __java_util_logging_StreamHandler__
#define __java_util_logging_StreamHandler__

#pragma interface

#include <java/util/logging/Handler.h>

class java::util::logging::StreamHandler : public ::java::util::logging::Handler
{
public:
  StreamHandler ();
  StreamHandler (::java::io::OutputStream *, ::java::util::logging::Formatter *);
public: // actually package-private
  StreamHandler (::java::io::OutputStream *, ::java::lang::String *, ::java::util::logging::Level *, ::java::util::logging::Formatter *, ::java::lang::Class *);
private:
  void checkOpen ();
  void checkFresh ();
  void changeWriter (::java::io::OutputStream *, ::java::lang::String *);
public:
  virtual void setEncoding (::java::lang::String *);
public:  // actually protected
  virtual void setOutputStream (::java::io::OutputStream *);
public:
  virtual void publish (::java::util::logging::LogRecord *);
  virtual jboolean isLoggable (::java::util::logging::LogRecord *);
  virtual void flush ();
  virtual void close ();
private:
  ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::util::logging::Handler )))) out;
  ::java::io::Writer *writer;
  jint streamState;
  static const jint STATE_FRESH = 0L;
  static const jint STATE_PUBLISHED = 1L;
  static const jint STATE_CLOSED = 2L;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_util_logging_StreamHandler__ */
