import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
*
* @author Thomas Pantelis
*/
-public final class ServerConfigurationPayload extends Payload implements PersistentPayload, MigratedSerializable {
+public final class ServerConfigurationPayload extends Payload implements PersistentPayload, Serializable {
private static final class Proxy implements Externalizable {
private static final long serialVersionUID = 1L;
+ "implements writeReplace to delegate serialization to a Proxy class and thus instances of this class "
+ "aren't serialized. FindBugs does not recognize this.")
private final List<ServerInfo> serverConfig;
- private final boolean migrated;
private int serializedSize = -1;
- private ServerConfigurationPayload(@Nonnull final List<ServerInfo> serverConfig, boolean migrated) {
- this.serverConfig = ImmutableList.copyOf(serverConfig);
- this.migrated = migrated;
- }
-
public ServerConfigurationPayload(@Nonnull final List<ServerInfo> serverConfig) {
- this(serverConfig, false);
- }
-
- @Deprecated
- public static ServerConfigurationPayload createMigrated(@Nonnull final List<ServerInfo> serverConfig) {
- return new ServerConfigurationPayload(serverConfig, true);
- }
-
- @Deprecated
- @Override
- public boolean isMigrated() {
- return migrated;
+ this.serverConfig = ImmutableList.copyOf(serverConfig);
}
@Nonnull
return serializedSize;
}
+ @Override
+ public int hashCode() {
+ return serverConfig.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if (obj == null) {
+ return false;
+ }
+
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+
+ ServerConfigurationPayload other = (ServerConfigurationPayload) obj;
+ return serverConfig.equals(other.serverConfig);
+ }
+
@Override
public String toString() {
return "ServerConfigurationPayload [serverConfig=" + serverConfig + "]";
}
- @Override
- public Object writeReplace() {
+ private Object writeReplace() {
return new Proxy(this);
}
}