mirror of
https://github.com/corda/corda.git
synced 2025-01-01 10:46:46 +00:00
classpath progress
This commit is contained in:
parent
a9e10d1c7f
commit
51943427ad
@ -20,6 +20,27 @@ public class BufferedReader extends Reader {
|
|||||||
limit = in.read(buffer);
|
limit = in.read(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String readLine() throws IOException {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
while (true) {
|
||||||
|
if (position >= limit) {
|
||||||
|
fill();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (position >= limit) {
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = position; i < limit; ++i) {
|
||||||
|
if (buffer[i] == '\n') {
|
||||||
|
sb.append(buffer, position, i);
|
||||||
|
position = i + 1;
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public int read(char[] b, int offset, int length) throws IOException {
|
public int read(char[] b, int offset, int length) throws IOException {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ public class PrintStream extends OutputStream {
|
|||||||
public synchronized void print(String s) {
|
public synchronized void print(String s) {
|
||||||
try {
|
try {
|
||||||
out.write(s.getBytes());
|
out.write(s.getBytes());
|
||||||
if (autoFlush) flush();
|
|
||||||
} catch (IOException e) { }
|
} catch (IOException e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ public class PrintWriter extends Writer {
|
|||||||
public synchronized void print(String s) {
|
public synchronized void print(String s) {
|
||||||
try {
|
try {
|
||||||
out.write(s.toCharArray());
|
out.write(s.toCharArray());
|
||||||
if (autoFlush) flush();
|
|
||||||
} catch (IOException e) { }
|
} catch (IOException e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ public class StringWriter extends Writer {
|
|||||||
private final StringBuilder out = new StringBuilder();
|
private final StringBuilder out = new StringBuilder();
|
||||||
|
|
||||||
public void write(char[] b, int offset, int length) throws IOException {
|
public void write(char[] b, int offset, int length) throws IOException {
|
||||||
out.append(new String(b, offset, length));
|
out.append(b, offset, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
@ -10,6 +10,16 @@ public abstract class Writer {
|
|||||||
write(buffer, 0, buffer.length);
|
write(buffer, 0, buffer.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void write(String s) throws IOException {
|
||||||
|
write(s.toCharArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void write(String s, int offset, int length) throws IOException {
|
||||||
|
char[] b = new char[length];
|
||||||
|
s.getChars(offset, length, b, 0);
|
||||||
|
write(b);
|
||||||
|
}
|
||||||
|
|
||||||
public abstract void write(char[] buffer, int offset, int length)
|
public abstract void write(char[] buffer, int offset, int length)
|
||||||
throws IOException;
|
throws IOException;
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ public final class String implements Comparable<String> {
|
|||||||
public void getBytes(int srcOffset, int srcLength,
|
public void getBytes(int srcOffset, int srcLength,
|
||||||
byte[] dst, int dstOffset)
|
byte[] dst, int dstOffset)
|
||||||
{
|
{
|
||||||
if (srcOffset + srcLength > length) {
|
if (srcOffset < 0 || srcOffset + srcLength > length) {
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ public final class String implements Comparable<String> {
|
|||||||
public void getChars(int srcOffset, int srcLength,
|
public void getChars(int srcOffset, int srcLength,
|
||||||
char[] dst, int dstOffset)
|
char[] dst, int dstOffset)
|
||||||
{
|
{
|
||||||
if (srcOffset + srcLength > length) {
|
if (srcOffset < 0 || srcOffset + srcLength > length) {
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,10 +23,19 @@ public class StringBuffer {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized StringBuffer deleteCharAt(int i) {
|
||||||
|
sb.deleteCharAt(i);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized int length() {
|
public synchronized int length() {
|
||||||
return sb.length();
|
return sb.length();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public synchronized void setLength(int v) {
|
||||||
|
sb.setLength(v);
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized void getChars(int srcOffset, int srcLength, char[] dst,
|
public synchronized void getChars(int srcOffset, int srcLength, char[] dst,
|
||||||
int dstOffset)
|
int dstOffset)
|
||||||
{
|
{
|
||||||
|
@ -5,11 +5,17 @@ public class StringBuilder {
|
|||||||
private int length;
|
private int length;
|
||||||
|
|
||||||
public StringBuilder append(String s) {
|
public StringBuilder append(String s) {
|
||||||
chain = new Cell(s, chain);
|
if (s.length() > 0) {
|
||||||
length += s.length();
|
chain = new Cell(s, chain);
|
||||||
|
length += s.length();
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StringBuilder append(char[] b, int offset, int length) {
|
||||||
|
return append(new String(b, offset, length));
|
||||||
|
}
|
||||||
|
|
||||||
public StringBuilder append(Object o) {
|
public StringBuilder append(Object o) {
|
||||||
return append(o == null ? "null" : o.toString());
|
return append(o == null ? "null" : o.toString());
|
||||||
}
|
}
|
||||||
@ -22,13 +28,75 @@ public class StringBuilder {
|
|||||||
return append(String.valueOf(v));
|
return append(String.valueOf(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StringBuilder deleteCharAt(int i) {
|
||||||
|
if (i < 0 || i >= length) {
|
||||||
|
throw new IndexOutOfBoundsException();
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = length;
|
||||||
|
-- length;
|
||||||
|
Cell p = null;
|
||||||
|
for (Cell c = chain; c != null; c = c.next) {
|
||||||
|
int start = index - c.value.length();
|
||||||
|
index = start;
|
||||||
|
|
||||||
|
if (i >= start) {
|
||||||
|
if (c.value.length() == 1) {
|
||||||
|
if (p == null) {
|
||||||
|
chain = c.next;
|
||||||
|
} else {
|
||||||
|
p.next = c.next;
|
||||||
|
}
|
||||||
|
} else if (i == start) {
|
||||||
|
c.value = c.value.substring(1);
|
||||||
|
} else if (i == start + c.value.length() - 1) {
|
||||||
|
c.value = c.value.substring(0, c.value.length() - 1);
|
||||||
|
} else {
|
||||||
|
c.value = c.value.substring(i + 1, c.value.length());
|
||||||
|
c.next = new Cell(c.value.substring(0, i), c.next);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public int length() {
|
public int length() {
|
||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLength(int v) {
|
||||||
|
if (v < 0) {
|
||||||
|
throw new IndexOutOfBoundsException();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (v == 0) {
|
||||||
|
length = 0;
|
||||||
|
chain = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = length;
|
||||||
|
length = v;
|
||||||
|
for (Cell c = chain; c != null; c = c.next) {
|
||||||
|
int start = index - c.value.length();
|
||||||
|
|
||||||
|
if (v > start) {
|
||||||
|
if (v < index) {
|
||||||
|
c.value = c.value.substring(0, v - start);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
chain = c.next;
|
||||||
|
index = start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void getChars(int srcOffset, int srcLength, char[] dst, int dstOffset)
|
public void getChars(int srcOffset, int srcLength, char[] dst, int dstOffset)
|
||||||
{
|
{
|
||||||
if (srcOffset + srcLength > length) {
|
if (srcOffset < 0 || srcOffset + srcLength > length) {
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,8 +128,8 @@ public class StringBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static class Cell {
|
private static class Cell {
|
||||||
public final String value;
|
public String value;
|
||||||
public final Cell next;
|
public Cell next;
|
||||||
|
|
||||||
public Cell(String value, Cell next) {
|
public Cell(String value, Cell next) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
@ -2,6 +2,7 @@ package java.lang;
|
|||||||
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
public class Throwable {
|
public class Throwable {
|
||||||
private String message;
|
private String message;
|
||||||
@ -49,12 +50,14 @@ public class Throwable {
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
printStackTrace(sb, System.getProperty("line.separator"));
|
printStackTrace(sb, System.getProperty("line.separator"));
|
||||||
out.print(sb.toString());
|
out.print(sb.toString());
|
||||||
|
try { out.flush(); } catch (IOException e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printStackTrace(PrintWriter out) {
|
public void printStackTrace(PrintWriter out) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
printStackTrace(sb, System.getProperty("line.separator"));
|
printStackTrace(sb, System.getProperty("line.separator"));
|
||||||
out.print(sb.toString());
|
out.print(sb.toString());
|
||||||
|
try { out.flush(); } catch (IOException e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printStackTrace() {
|
public void printStackTrace() {
|
||||||
|
Loading…
Reference in New Issue
Block a user