00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __io_PrintStream__
00037 #define __io_PrintStream__
00038
00039 #include <stdnet/system/Object>
00040 #include <stdnet/system/String>
00041 #include <stdnet/io/IOException>
00042 #include <stdnet/io/OutputStream>
00043
00044 namespace stdbase {
00045 namespace io {
00046
00052 class PrintStream : public system::Object, public io::OutputStream
00053 {
00054 protected:
00055 PrintStream( const OutputStreamRef & ref);
00056 virtual ~PrintStream();
00057
00058 public:
00059 static const system::reference<PrintStream>
00060 create( const OutputStreamRef & ref);
00061
00062 virtual void flush() throw (IOException);
00063 virtual void close() throw (IOException);
00064 virtual void write( int b ) throw (IOException);
00065 virtual void write( byte b[], int len) throw (IOException);
00066
00067 virtual void println( system::StringRef str);
00068 virtual void println( const char text[] );
00069 virtual void println( int i );
00070
00071 virtual void print( system::StringRef str);
00072 virtual void print( const char text[] );
00073 virtual void print( int i );
00074
00075 virtual bool checkError();
00076
00077 virtual bool equals( system::ObjectRef o) const;
00078
00079 private:
00080 OutputStreamRef output;
00081 bool error;
00082 };
00083
00084 typedef system::reference< PrintStream > PrintStreamRef;
00085
00086 }
00087 }
00088
00089 #endif // __io_PrintStream__
00090
00091