com.github.messenger4j.webhook.event.QuickReplyMessageEvent Maven / Gradle / Ivy
// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.webhook.event;
import com.github.messenger4j.webhook.event.common.PriorMessage;
import java.time.Instant;
import java.util.Optional;
import lombok.NonNull;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
public final class QuickReplyMessageEvent extends BaseEvent {
private final String messageId;
private final String text;
private final String payload;
private final Optional priorMessage;
public QuickReplyMessageEvent(
@NonNull String senderId,
@NonNull String recipientId,
@NonNull Instant timestamp,
@NonNull String messageId,
@NonNull String text,
@NonNull String payload,
@NonNull Optional priorMessage) {
super(senderId, recipientId, timestamp);
if (senderId == null) {
throw new java.lang.IllegalArgumentException("senderId is marked @NonNull but is null");
}
if (recipientId == null) {
throw new java.lang.IllegalArgumentException("recipientId is marked @NonNull but is null");
}
if (timestamp == null) {
throw new java.lang.IllegalArgumentException("timestamp is marked @NonNull but is null");
}
if (messageId == null) {
throw new java.lang.IllegalArgumentException("messageId is marked @NonNull but is null");
}
if (text == null) {
throw new java.lang.IllegalArgumentException("text is marked @NonNull but is null");
}
if (payload == null) {
throw new java.lang.IllegalArgumentException("payload is marked @NonNull but is null");
}
if (priorMessage == null) {
throw new java.lang.IllegalArgumentException("priorMessage is marked @NonNull but is null");
}
this.messageId = messageId;
this.text = text;
this.payload = payload;
this.priorMessage = priorMessage;
}
public String messageId() {
return messageId;
}
public String text() {
return text;
}
public String payload() {
return payload;
}
public Optional priorMessage() {
return priorMessage;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "QuickReplyMessageEvent(super="
+ super.toString()
+ ", messageId="
+ this.messageId
+ ", text="
+ this.text
+ ", payload="
+ this.payload
+ ", priorMessage="
+ this.priorMessage
+ ")";
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof QuickReplyMessageEvent)) return false;
final QuickReplyMessageEvent other = (QuickReplyMessageEvent) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$messageId = this.messageId;
final java.lang.Object other$messageId = other.messageId;
if (this$messageId == null ? other$messageId != null : !this$messageId.equals(other$messageId))
return false;
final java.lang.Object this$text = this.text;
final java.lang.Object other$text = other.text;
if (this$text == null ? other$text != null : !this$text.equals(other$text)) return false;
final java.lang.Object this$payload = this.payload;
final java.lang.Object other$payload = other.payload;
if (this$payload == null ? other$payload != null : !this$payload.equals(other$payload))
return false;
final java.lang.Object this$priorMessage = this.priorMessage;
final java.lang.Object other$priorMessage = other.priorMessage;
if (this$priorMessage == null
? other$priorMessage != null
: !this$priorMessage.equals(other$priorMessage)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
protected boolean canEqual(final java.lang.Object other) {
return other instanceof QuickReplyMessageEvent;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $messageId = this.messageId;
result = result * PRIME + ($messageId == null ? 43 : $messageId.hashCode());
final java.lang.Object $text = this.text;
result = result * PRIME + ($text == null ? 43 : $text.hashCode());
final java.lang.Object $payload = this.payload;
result = result * PRIME + ($payload == null ? 43 : $payload.hashCode());
final java.lang.Object $priorMessage = this.priorMessage;
result = result * PRIME + ($priorMessage == null ? 43 : $priorMessage.hashCode());
return result;
}
}