com.github.messenger4j.webhook.event.OptInEvent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of messenger4j Show documentation
Show all versions of messenger4j Show documentation
A Java library for building Chatbots on the Facebook Messenger Platform - easy and fast
The newest version!
// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.webhook.event;
import java.time.Instant;
import java.util.Optional;
import lombok.NonNull;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
public final class OptInEvent extends BaseEvent {
private final Optional refPayload;
private final Optional userRefPayload;
public OptInEvent(
@NonNull Optional senderId,
@NonNull String recipientId,
@NonNull Instant timestamp,
@NonNull Optional refPayload,
@NonNull Optional userRefPayload) {
super(senderId.orElse(null), 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 (refPayload == null) {
throw new java.lang.IllegalArgumentException("refPayload is marked @NonNull but is null");
}
if (userRefPayload == null) {
throw new java.lang.IllegalArgumentException("userRefPayload is marked @NonNull but is null");
}
this.refPayload = refPayload;
this.userRefPayload = userRefPayload;
}
@Override
public String senderId() {
return Optional.ofNullable(super.senderId())
.orElseThrow(
() ->
new UnsupportedOperationException(
"senderId not present. Checkbox Plugin OptInEvents do not support senderId. Use userRefPayload instead."));
}
public Optional refPayload() {
return refPayload;
}
public Optional userRefPayload() {
return userRefPayload;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "OptInEvent(super="
+ super.toString()
+ ", refPayload="
+ this.refPayload
+ ", userRefPayload="
+ this.userRefPayload
+ ")";
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof OptInEvent)) return false;
final OptInEvent other = (OptInEvent) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$refPayload = this.refPayload;
final java.lang.Object other$refPayload = other.refPayload;
if (this$refPayload == null
? other$refPayload != null
: !this$refPayload.equals(other$refPayload)) return false;
final java.lang.Object this$userRefPayload = this.userRefPayload;
final java.lang.Object other$userRefPayload = other.userRefPayload;
if (this$userRefPayload == null
? other$userRefPayload != null
: !this$userRefPayload.equals(other$userRefPayload)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
protected boolean canEqual(final java.lang.Object other) {
return other instanceof OptInEvent;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $refPayload = this.refPayload;
result = result * PRIME + ($refPayload == null ? 43 : $refPayload.hashCode());
final java.lang.Object $userRefPayload = this.userRefPayload;
result = result * PRIME + ($userRefPayload == null ? 43 : $userRefPayload.hashCode());
return result;
}
}