home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / net / smtp / SmtpPrintStream.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.1 KB  |  87 lines

  1. package sun.net.smtp;
  2.  
  3. import java.io.IOException;
  4. import java.io.OutputStream;
  5. import java.io.PrintStream;
  6.  
  7. class SmtpPrintStream extends PrintStream {
  8.    private SmtpClient target;
  9.    private int lastc = 10;
  10.  
  11.    SmtpPrintStream(OutputStream var1, SmtpClient var2) {
  12.       super(var1);
  13.       this.target = var2;
  14.    }
  15.  
  16.    public void close() {
  17.       if (this.target != null) {
  18.          if (this.lastc != 10) {
  19.             this.write(10);
  20.          }
  21.  
  22.          try {
  23.             this.target.issueCommand(".\r\n", 250);
  24.             this.target.message = null;
  25.             super.out = null;
  26.             this.target = null;
  27.          } catch (IOException var2) {
  28.          }
  29.  
  30.       }
  31.    }
  32.  
  33.    public void write(int var1) {
  34.       try {
  35.          if (this.lastc == 10 && var1 == 46) {
  36.             super.out.write(46);
  37.          }
  38.  
  39.          if (var1 == 10 && this.lastc != 13) {
  40.             super.out.write(13);
  41.          }
  42.  
  43.          super.out.write(var1);
  44.          this.lastc = var1;
  45.       } catch (IOException var3) {
  46.       }
  47.  
  48.    }
  49.  
  50.    public void write(byte[] var1, int var2, int var3) {
  51.       try {
  52.          int var4 = this.lastc;
  53.  
  54.          while(true) {
  55.             --var3;
  56.             if (var3 < 0) {
  57.                this.lastc = var4;
  58.                break;
  59.             }
  60.  
  61.             byte var5 = var1[var2++];
  62.             if (var4 == 10 && var5 == 46) {
  63.                super.out.write(46);
  64.             }
  65.  
  66.             if (var5 == 10 && var4 != 13) {
  67.                super.out.write(13);
  68.             }
  69.  
  70.             super.out.write(var5);
  71.             var4 = var5;
  72.          }
  73.       } catch (IOException var6) {
  74.       }
  75.  
  76.    }
  77.  
  78.    public void print(String var1) {
  79.       int var2 = var1.length();
  80.  
  81.       for(int var3 = 0; var3 < var2; ++var3) {
  82.          this.write(var1.charAt(var3));
  83.       }
  84.  
  85.    }
  86. }
  87.