blob: fe4c5a1daea17f4bb48b60600f2a9c00f33d87a8 [file] [log] [blame]
package test.rmi;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Objects;
/**
* Created by nrichard on 11/03/16.
*/
public class SampleData implements Serializable {
private static class Data2 implements Serializable {
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Data2)) return false;
return true;
}
}
private static class MrBoom implements Serializable {
private void writeObject(ObjectOutputStream oos) throws IOException {
throw new IOException("*BOOM*!");
}
}
public static enum DataEnum {
E1(new Data2()), E2(new MrBoom());
public final Serializable s;
private DataEnum(Serializable s) {
this.s = s;
}
}
public final Serializable f1 = DataEnum.E1;
public final Serializable f2 = DataEnum.E2;
public final Serializable f3 = DataEnum.E1.s;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof SampleData)) return false;
SampleData sd = (SampleData)o;
if (f1 != sd.f1) return false;
if (f2 != sd.f2) return false;
return f3.equals(sd.f3);
}
@Override
public int hashCode() {
return Objects.hash(f1, f2);
}
}