home *** CD-ROM | disk | FTP | other *** search
- package netscape.plugin.composer.io;
-
- import java.io.IOException;
- import java.io.Reader;
- import java.io.Writer;
-
- public class SelectedHTMLReader extends Reader {
- // $FF: renamed from: in java.io.Reader
- private Reader field_0;
- private Writer out;
- private int index;
- private int length;
- private String string;
-
- public SelectedHTMLReader(Reader var1) throws IOException {
- this(var1, (Writer)null);
- }
-
- public SelectedHTMLReader(Reader var1, Writer var2) throws IOException {
- this.field_0 = var1;
- this.out = var2;
- StringBuffer var3 = new StringBuffer(1024);
- char[] var5 = new char[1024];
-
- int var4;
- while((var4 = var1.read(var5)) >= 0) {
- var3.append(var5, 0, var4);
- }
-
- this.string = new String(var3);
- String var6 = Comment.createSelectionStart().toString();
- String var7 = Comment.createSelectionEnd().toString();
- int var8 = this.string.indexOf(var6);
- if (var8 < 0) {
- var8 = this.string.indexOf(Comment.createSelectionStart(true).toString());
- if (var8 < 0) {
- System.err.println(this.string);
- throw new IOException("No start comment.");
- }
- }
-
- int var9 = this.string.indexOf(var7, var8);
- if (var9 < 0) {
- String var10 = Comment.createSelectionEnd(true).toString();
- var9 = this.string.indexOf(var10, var8);
- if (var9 < 0) {
- System.err.println(this.string);
- throw new IOException("No end comment");
- }
-
- var9 += var10.length();
- } else {
- var9 += var7.length();
- }
-
- this.index = var8;
- this.length = var9;
- if (var2 != null) {
- var2.write(this.string, 0, this.index);
- }
-
- }
-
- public void close() throws IOException {
- this.field_0.close();
- if (this.out != null) {
- int var1 = this.string.length() - this.index;
- this.out.write(this.string, this.index, var1);
- this.index = this.string.length();
- }
-
- }
-
- public int read() throws IOException {
- return this.index >= this.length ? -1 : this.string.charAt(this.index++);
- }
-
- public int read(char[] var1) throws IOException {
- return this.read(var1, 0, var1.length);
- }
-
- public int read(char[] var1, int var2, int var3) throws IOException {
- if (var3 <= 0) {
- return 0;
- } else {
- int var4 = Math.min(var3, this.length - this.index);
- if (var4 <= 0) {
- return -1;
- } else {
- this.string.getChars(this.index, this.index + var4, var1, var2);
- this.index += var4;
- return var4;
- }
- }
- }
-
- public long skip(long var1) throws IOException {
- long var3 = Math.max(0L, Math.min(var1, (long)this.length - (long)this.index));
- this.index += (int)var3;
- return var3;
- }
- }
-