com.github.messenger4j.send.message.template.button.ShareButton Maven / Gradle / Ivy
// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.send.message.template.button;
import static java.util.Optional.empty;
import com.github.messenger4j.send.message.template.GenericTemplate;
import java.util.Optional;
import lombok.NonNull;
/**
* @author Max Grabenhorst
* @since 1.0.0
*/
public final class ShareButton extends Button {
private final Optional shareContents;
private ShareButton(Optional shareContents) {
super(Type.ELEMENT_SHARE);
this.shareContents = shareContents;
}
public static ShareButton create() {
return create(empty());
}
public static ShareButton create(@NonNull Optional shareContents) {
if (shareContents == null) {
throw new java.lang.IllegalArgumentException("shareContents is marked @NonNull but is null");
}
return new ShareButton(shareContents);
}
public Optional shareContents() {
return shareContents;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "ShareButton(super=" + super.toString() + ", shareContents=" + this.shareContents + ")";
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof ShareButton)) return false;
final ShareButton other = (ShareButton) o;
if (!other.canEqual((java.lang.Object) this)) return false;
if (!super.equals(o)) return false;
final java.lang.Object this$shareContents = this.shareContents;
final java.lang.Object other$shareContents = other.shareContents;
if (this$shareContents == null
? other$shareContents != null
: !this$shareContents.equals(other$shareContents)) return false;
return true;
}
@java.lang.SuppressWarnings("all")
protected boolean canEqual(final java.lang.Object other) {
return other instanceof ShareButton;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
final java.lang.Object $shareContents = this.shareContents;
result = result * PRIME + ($shareContents == null ? 43 : $shareContents.hashCode());
return result;
}
}