home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / io / CharArrayWriter.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.8 KB  |  112 lines

  1. package java.io;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class CharArrayWriter extends Writer {
  6.    protected char[] buf;
  7.    protected int count;
  8.  
  9.    public CharArrayWriter() {
  10.       this(32);
  11.    }
  12.  
  13.    public CharArrayWriter(int var1) {
  14.       if (var1 < 0) {
  15.          throw new IllegalArgumentException("Negative initial size: " + var1);
  16.       } else {
  17.          this.buf = new char[var1];
  18.       }
  19.    }
  20.  
  21.    public void write(int var1) {
  22.       synchronized(this.lock) {
  23.          int var3 = this.count + 1;
  24.          if (var3 > this.buf.length) {
  25.             this.buf = Arrays.copyOf(this.buf, Math.max(this.buf.length << 1, var3));
  26.          }
  27.  
  28.          this.buf[this.count] = (char)var1;
  29.          this.count = var3;
  30.       }
  31.    }
  32.  
  33.    public void write(char[] var1, int var2, int var3) {
  34.       if (var2 >= 0 && var2 <= var1.length && var3 >= 0 && var2 + var3 <= var1.length && var2 + var3 >= 0) {
  35.          if (var3 != 0) {
  36.             synchronized(this.lock) {
  37.                int var5 = this.count + var3;
  38.                if (var5 > this.buf.length) {
  39.                   this.buf = Arrays.copyOf(this.buf, Math.max(this.buf.length << 1, var5));
  40.                }
  41.  
  42.                System.arraycopy(var1, var2, this.buf, this.count, var3);
  43.                this.count = var5;
  44.             }
  45.          }
  46.       } else {
  47.          throw new IndexOutOfBoundsException();
  48.       }
  49.    }
  50.  
  51.    public void write(String var1, int var2, int var3) {
  52.       synchronized(this.lock) {
  53.          int var5 = this.count + var3;
  54.          if (var5 > this.buf.length) {
  55.             this.buf = Arrays.copyOf(this.buf, Math.max(this.buf.length << 1, var5));
  56.          }
  57.  
  58.          var1.getChars(var2, var2 + var3, this.buf, this.count);
  59.          this.count = var5;
  60.       }
  61.    }
  62.  
  63.    public void writeTo(Writer var1) throws IOException {
  64.       synchronized(this.lock) {
  65.          var1.write(this.buf, 0, this.count);
  66.       }
  67.    }
  68.  
  69.    public CharArrayWriter append(CharSequence var1) {
  70.       String var2 = var1 == null ? "null" : var1.toString();
  71.       this.write((String)var2, 0, var2.length());
  72.       return this;
  73.    }
  74.  
  75.    public CharArrayWriter append(CharSequence var1, int var2, int var3) {
  76.       String var4 = ((CharSequence)(var1 == null ? "null" : var1)).subSequence(var2, var3).toString();
  77.       this.write((String)var4, 0, var4.length());
  78.       return this;
  79.    }
  80.  
  81.    public CharArrayWriter append(char var1) {
  82.       this.write(var1);
  83.       return this;
  84.    }
  85.  
  86.    public void reset() {
  87.       this.count = 0;
  88.    }
  89.  
  90.    public char[] toCharArray() {
  91.       synchronized(this.lock) {
  92.          return Arrays.copyOf(this.buf, this.count);
  93.       }
  94.    }
  95.  
  96.    public int size() {
  97.       return this.count;
  98.    }
  99.  
  100.    public String toString() {
  101.       synchronized(this.lock) {
  102.          return new String(this.buf, 0, this.count);
  103.       }
  104.    }
  105.  
  106.    public void flush() {
  107.    }
  108.  
  109.    public void close() {
  110.    }
  111. }
  112.