tdlib-session-container/src/main/java/it/tdlight/tdlibsession/td/middle/StartSessionMessage.java

91 lines
2.1 KiB
Java

package it.tdlight.tdlibsession.td.middle;
import io.vertx.core.json.JsonObject;
import java.util.Arrays;
import java.util.Objects;
import java.util.StringJoiner;
public final class StartSessionMessage {
private final int id;
private final String alias;
private final byte[] binlog;
private final long binlogDate;
private final JsonObject implementationDetails;
public StartSessionMessage(int id, String alias, byte[] binlog, long binlogDate, JsonObject implementationDetails) {
this.id = id;
this.alias = alias;
this.binlog = binlog;
this.binlogDate = binlogDate;
this.implementationDetails = implementationDetails;
}
public int id() {
return id;
}
public String alias() {
return alias;
}
public byte[] binlog() {
return binlog;
}
public long binlogDate() {
return binlogDate;
}
public JsonObject implementationDetails() {
return implementationDetails;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
StartSessionMessage that = (StartSessionMessage) o;
if (id != that.id) {
return false;
}
if (binlogDate != that.binlogDate) {
return false;
}
if (!Objects.equals(alias, that.alias)) {
return false;
}
if (!Arrays.equals(binlog, that.binlog)) {
return false;
}
return Objects.equals(implementationDetails, that.implementationDetails);
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + (alias != null ? alias.hashCode() : 0);
result = 31 * result + Arrays.hashCode(binlog);
result = 31 * result + (int) (binlogDate ^ (binlogDate >>> 32));
result = 31 * result + (implementationDetails != null ? implementationDetails.hashCode() : 0);
return result;
}
@Override
public String toString() {
return new StringJoiner(", ", StartSessionMessage.class.getSimpleName() + "[", "]")
.add("id=" + id)
.add("alias='" + alias + "'")
.add("binlog=" + Arrays.toString(binlog))
.add("binlogDate=" + binlogDate)
.add("implementationDetails=" + implementationDetails)
.toString();
}
}