1 jls.loader.provide('jls.io.PrintStream');
  2 
  3 jls.loader.require('jls.io.File');
  4 jls.loader.require('jls.io.OutputStreamWriter');
  5 jls.loader.require('jls.io.FileChannel');
  6 jls.loader.require('jls.io.FileOutputStream');
  7 
  8 jls.io.PrintStream = jls.lang.Class.create(jls.io.OutputStreamWriter,
  9 {
 10     initialize : function($super, out, csn) {
 11         if ((out instanceof jls.io.FileChannel) || (out instanceof jls.io.FileOutputStream)) {
 12             // nothing to do
 13         } else if ((out instanceof jls.io.File) || (typeof out == 'string')) {
 14             out = new jls.io.FileOutputStream(out);
 15         } else if ((out instanceof _native.io.FileDesc) || (out instanceof _native.io.StaticFileDesc)) {
 16             out = new jls.io.FileChannel(out);
 17         } else {
 18             throw new jls.lang.Exception('Invalid outputstream');
 19         }
 20         $super(out, csn);
 21     },
 22     print : function(s) {
 23         return this.write(s);
 24     },
 25     println : function(s) {
 26         return this.writeLine(s);
 27     }
 28 });
 29