com.github.messenger4j.messengerprofile.persistentmenu.action.PostbackCallToAction Maven / Gradle / Ivy
// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.messengerprofile.persistentmenu.action;
import lombok.NonNull;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
public final class PostbackCallToAction extends CallToAction {
private final String payload;
private PostbackCallToAction(String title, String payload) {
super(Type.POSTBACK, title);
this.payload = payload;
}
public static PostbackCallToAction create(@NonNull String title, @NonNull String payload) {
if (title == null) {
throw new java.lang.IllegalArgumentException("title is marked @NonNull but is null");
}
if (payload == null) {
throw new java.lang.IllegalArgumentException("payload is marked @NonNull but is null");
}
return new PostbackCallToAction(title, payload);
}
public String payload() {
return payload;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "PostbackCallToAction(super=" + super.toString() + ", payload=" + this.payload + ")";
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof PostbackCallToAction)) return false;
final PostbackCallToAction other = (PostbackCallToAction) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) 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;
return true;
}
@java.lang.SuppressWarnings("all")
protected boolean canEqual(final java.lang.Object other) {
return other instanceof PostbackCallToAction;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $payload = this.payload;
result = result * PRIME + ($payload == null ? 43 : $payload.hashCode());
return result;
}
}