All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.messenger4j.webhook.event.OptInEvent Maven / Gradle / Ivy

Go to download

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;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy