|
|
@@ -56,7 +56,7 @@ public abstract class IOEvent implements Event, Serializable {
|
|
|
}
|
|
|
|
|
|
public static ReadByteArray read(byte[] array, int offset, int length) {
|
|
|
- return new ReadByteArray(Arrays.copyOfRange(array, offset, offset+length));
|
|
|
+ return new ReadByteArray(Arrays.copyOfRange(array, offset, offset + length));
|
|
|
}
|
|
|
|
|
|
public static WriteByte write(int value) {
|
|
|
@@ -68,7 +68,7 @@ public abstract class IOEvent implements Event, Serializable {
|
|
|
}
|
|
|
|
|
|
public static WriteByteArray write(byte[] array, int offset, int length) {
|
|
|
- return new WriteByteArray(Arrays.copyOfRange(array, offset, offset+length));
|
|
|
+ return new WriteByteArray(Arrays.copyOfRange(array, offset, offset + length));
|
|
|
}
|
|
|
|
|
|
public static LocalProgress progress(File file, long current, long max) {
|
|
|
@@ -78,15 +78,17 @@ public abstract class IOEvent implements Event, Serializable {
|
|
|
public static class Failure extends IOEvent {
|
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
-
|
|
|
+
|
|
|
private final IOException cause;
|
|
|
|
|
|
protected Failure(IOException cause) {
|
|
|
this.cause = cause;
|
|
|
}
|
|
|
+
|
|
|
public IOException cause() {
|
|
|
return cause;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public String toString() {
|
|
|
return "IOEvent.Failure: " + cause;
|
|
|
@@ -94,124 +96,212 @@ public abstract class IOEvent implements Event, Serializable {
|
|
|
}
|
|
|
|
|
|
public static class Close extends IOEvent {
|
|
|
+
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
- protected Close() { }
|
|
|
+ protected Close() {
|
|
|
+ // do nothing
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Close"; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Close";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class Flush extends IOEvent {
|
|
|
+
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
- protected Flush() { }
|
|
|
+ protected Flush() {
|
|
|
+ // do nothing
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Flush"; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Flush";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class Open extends IOEvent {
|
|
|
+
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
- protected Open() { }
|
|
|
+ protected Open() {
|
|
|
+ // do nothing
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Open"; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Open";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public static class Read extends IOEvent {
|
|
|
+ public static abstract class Read extends IOEvent {
|
|
|
+
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
- protected Read() { }
|
|
|
+ protected Read() {
|
|
|
+ // do nothing
|
|
|
+ }
|
|
|
+
|
|
|
+ public abstract int head();
|
|
|
+
|
|
|
+ public abstract byte[] array();
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Read"; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Read";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class ReadByte extends Read {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final int data;
|
|
|
|
|
|
protected ReadByte(int data) {
|
|
|
this.data = data;
|
|
|
}
|
|
|
- public final int data() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final int head() {
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final byte[] array() {
|
|
|
+ return new byte[]{(byte) data};
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.ReadByte: " + data; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.ReadByte: " + data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@SuppressWarnings({"EI_EXPOSE_REP", "PMD"})
|
|
|
public static class ReadByteArray extends Read {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final byte[] data;
|
|
|
|
|
|
protected ReadByteArray(byte[] data) {
|
|
|
this.data = data;
|
|
|
}
|
|
|
- public final byte[] data() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final int head() {
|
|
|
+ return data[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final byte[] array() {
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.ReadByteArray: " + data.length; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.ReadByteArray: " + data.length;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public static class Write extends IOEvent {
|
|
|
+ public static abstract class Write extends IOEvent {
|
|
|
+
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
- protected Write() { }
|
|
|
+ protected Write() {
|
|
|
+ // do nothing
|
|
|
+ }
|
|
|
+
|
|
|
+ public abstract int head();
|
|
|
+
|
|
|
+ public abstract byte[] array();
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Write"; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Write";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class WriteByte extends Write {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final int data;
|
|
|
|
|
|
protected WriteByte(int data) {
|
|
|
this.data = data;
|
|
|
}
|
|
|
- public final int data() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final int head() {
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.WriteByte: " + data; }
|
|
|
+ public final byte[] array() {
|
|
|
+ return new byte[]{ (byte)data };
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.WriteByte: " + data;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class WriteByteArray extends Write {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final byte[] data;
|
|
|
|
|
|
protected WriteByteArray(byte[] data) {
|
|
|
this.data = data;
|
|
|
}
|
|
|
- public final byte[] data() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final int head() {
|
|
|
+ return data[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public final byte[] array() {
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.WriteByteArray: " + data.length; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.WriteByteArray: " + data.length;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class Local extends IOEvent {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final File file;
|
|
|
|
|
|
protected Local(File file) {
|
|
|
this.file = file;
|
|
|
}
|
|
|
+
|
|
|
public File file() {
|
|
|
return file;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.Local: " + file; }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.Local: " + file;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public static class LocalProgress extends Local {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
private final long current;
|
|
|
private final long max;
|
|
|
|
|
|
@@ -220,14 +310,18 @@ public abstract class IOEvent implements Event, Serializable {
|
|
|
this.current = current;
|
|
|
this.max = max;
|
|
|
}
|
|
|
+
|
|
|
public long current() {
|
|
|
return current;
|
|
|
}
|
|
|
+
|
|
|
public long max() {
|
|
|
return max;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String toString() { return "IOEvent.LocalProgress: [" + current +" / " + max + "] " + file(); }
|
|
|
+ public String toString() {
|
|
|
+ return "IOEvent.LocalProgress: [" + current + " / " + max + "] " + file();
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|