All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.github.messenger4j.messengerprofile.persistentmenu.action.UrlCallToAction Maven / Gradle / Ivy
// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.messengerprofile.persistentmenu.action;
import static java.util.Optional.empty;
import com.github.messenger4j.common.WebviewHeightRatio;
import com.github.messenger4j.common.WebviewShareButtonState;
import com.google.gson.annotations.SerializedName;
import java.net.URL;
import java.util.Optional;
import lombok.NonNull;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
public final class UrlCallToAction extends CallToAction {
private final URL url;
private final Optional webviewHeightRatio;
private final Optional messengerExtensions;
private final Optional fallbackUrl;
@SerializedName("webview_share_button")
private final Optional webviewShareButtonState;
private UrlCallToAction(
String title,
URL url,
Optional webviewHeightRatio,
Optional messengerExtensions,
Optional fallbackUrl,
Optional webviewShareButtonState) {
super(Type.WEB_URL, title);
this.url = url;
this.webviewHeightRatio = webviewHeightRatio;
this.messengerExtensions = messengerExtensions;
this.fallbackUrl = fallbackUrl;
this.webviewShareButtonState = webviewShareButtonState;
}
public static UrlCallToAction create(@NonNull String title, @NonNull URL url) {
if (title == null) {
throw new java.lang.IllegalArgumentException("title is marked @NonNull but is null");
}
if (url == null) {
throw new java.lang.IllegalArgumentException("url is marked @NonNull but is null");
}
return create(title, url, empty());
}
public static UrlCallToAction create(
@NonNull String title,
@NonNull URL url,
@NonNull Optional webviewHeightRatio) {
if (title == null) {
throw new java.lang.IllegalArgumentException("title is marked @NonNull but is null");
}
if (url == null) {
throw new java.lang.IllegalArgumentException("url is marked @NonNull but is null");
}
if (webviewHeightRatio == null) {
throw new java.lang.IllegalArgumentException(
"webviewHeightRatio is marked @NonNull but is null");
}
return create(title, url, webviewHeightRatio, empty(), empty(), empty());
}
public static UrlCallToAction create(
@NonNull String title,
@NonNull URL url,
@NonNull Optional webviewHeightRatio,
@NonNull Optional messengerExtensions,
@NonNull Optional fallbackUrl,
@NonNull Optional webviewShareButtonState) {
if (title == null) {
throw new java.lang.IllegalArgumentException("title is marked @NonNull but is null");
}
if (url == null) {
throw new java.lang.IllegalArgumentException("url is marked @NonNull but is null");
}
if (webviewHeightRatio == null) {
throw new java.lang.IllegalArgumentException(
"webviewHeightRatio is marked @NonNull but is null");
}
if (messengerExtensions == null) {
throw new java.lang.IllegalArgumentException(
"messengerExtensions is marked @NonNull but is null");
}
if (fallbackUrl == null) {
throw new java.lang.IllegalArgumentException("fallbackUrl is marked @NonNull but is null");
}
if (webviewShareButtonState == null) {
throw new java.lang.IllegalArgumentException(
"webviewShareButtonState is marked @NonNull but is null");
}
return new UrlCallToAction(
title, url, webviewHeightRatio, messengerExtensions, fallbackUrl, webviewShareButtonState);
}
public URL url() {
return url;
}
public Optional webviewHeightRatio() {
return webviewHeightRatio;
}
public Optional messengerExtensions() {
return messengerExtensions;
}
public Optional fallbackUrl() {
return fallbackUrl;
}
public Optional webviewShareButtonState() {
return webviewShareButtonState;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "UrlCallToAction(super="
+ super.toString()
+ ", url="
+ this.url
+ ", webviewHeightRatio="
+ this.webviewHeightRatio
+ ", messengerExtensions="
+ this.messengerExtensions
+ ", fallbackUrl="
+ this.fallbackUrl
+ ", webviewShareButtonState="
+ this.webviewShareButtonState
+ ")";
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof UrlCallToAction)) return false;
final UrlCallToAction other = (UrlCallToAction) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$url = this.url;
final java.lang.Object other$url = other.url;
if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false;
final java.lang.Object this$webviewHeightRatio = this.webviewHeightRatio;
final java.lang.Object other$webviewHeightRatio = other.webviewHeightRatio;
if (this$webviewHeightRatio == null
? other$webviewHeightRatio != null
: !this$webviewHeightRatio.equals(other$webviewHeightRatio)) return false;
final java.lang.Object this$messengerExtensions = this.messengerExtensions;
final java.lang.Object other$messengerExtensions = other.messengerExtensions;
if (this$messengerExtensions == null
? other$messengerExtensions != null
: !this$messengerExtensions.equals(other$messengerExtensions)) return false;
final java.lang.Object this$fallbackUrl = this.fallbackUrl;
final java.lang.Object other$fallbackUrl = other.fallbackUrl;
if (this$fallbackUrl == null
? other$fallbackUrl != null
: !this$fallbackUrl.equals(other$fallbackUrl)) return false;
final java.lang.Object this$webviewShareButtonState = this.webviewShareButtonState;
final java.lang.Object other$webviewShareButtonState = other.webviewShareButtonState;
if (this$webviewShareButtonState == null
? other$webviewShareButtonState != null
: !this$webviewShareButtonState.equals(other$webviewShareButtonState)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
protected boolean canEqual(final java.lang.Object other) {
return other instanceof UrlCallToAction;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $url = this.url;
result = result * PRIME + ($url == null ? 43 : $url.hashCode());
final java.lang.Object $webviewHeightRatio = this.webviewHeightRatio;
result = result * PRIME + ($webviewHeightRatio == null ? 43 : $webviewHeightRatio.hashCode());
final java.lang.Object $messengerExtensions = this.messengerExtensions;
result = result * PRIME + ($messengerExtensions == null ? 43 : $messengerExtensions.hashCode());
final java.lang.Object $fallbackUrl = this.fallbackUrl;
result = result * PRIME + ($fallbackUrl == null ? 43 : $fallbackUrl.hashCode());
final java.lang.Object $webviewShareButtonState = this.webviewShareButtonState;
result =
result * PRIME
+ ($webviewShareButtonState == null ? 43 : $webviewShareButtonState.hashCode());
return result;
}
}