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

com.github.messenger4j.send.message.Message Maven / Gradle / Ivy

// Generated by delombok at Tue May 07 22:31:27 CEST 2019
package com.github.messenger4j.send.message;

import com.github.messenger4j.internal.Lists;
import com.github.messenger4j.send.message.quickreply.QuickReply;
import java.util.List;
import java.util.Optional;

/**
 * @author Max Grabenhorst
 * @since 1.0.0
 */
public abstract class Message {
  private final Optional> quickReplies;
  private final Optional metadata;

  Message(Optional> quickReplies, Optional metadata) {
    this.quickReplies = quickReplies.map(Lists::immutableList);
    this.metadata = metadata;
  }

  public Optional> quickReplies() {
    return quickReplies;
  }

  public Optional metadata() {
    return metadata;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public java.lang.String toString() {
    return "Message(quickReplies=" + this.quickReplies + ", metadata=" + this.metadata + ")";
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public boolean equals(final java.lang.Object o) {
    if (o == this) return true;
    if (!(o instanceof Message)) return false;
    final Message other = (Message) o;
    if (!other.canEqual((java.lang.Object) this)) return false;
    final java.lang.Object this$quickReplies = this.quickReplies;
    final java.lang.Object other$quickReplies = other.quickReplies;
    if (this$quickReplies == null
        ? other$quickReplies != null
        : !this$quickReplies.equals(other$quickReplies)) return false;
    final java.lang.Object this$metadata = this.metadata;
    final java.lang.Object other$metadata = other.metadata;
    if (this$metadata == null ? other$metadata != null : !this$metadata.equals(other$metadata))
      return false;
    return true;
  }

  @java.lang.SuppressWarnings("all")
  protected boolean canEqual(final java.lang.Object other) {
    return other instanceof Message;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public int hashCode() {
    final int PRIME = 59;
    int result = 1;
    final java.lang.Object $quickReplies = this.quickReplies;
    result = result * PRIME + ($quickReplies == null ? 43 : $quickReplies.hashCode());
    final java.lang.Object $metadata = this.metadata;
    result = result * PRIME + ($metadata == null ? 43 : $metadata.hashCode());
    return result;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy