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

com.github.messenger4j.send.message.richmedia.UrlRichMediaAsset Maven / Gradle / Ivy

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

import static java.util.Optional.empty;

import java.net.URL;
import java.util.Optional;
import lombok.NonNull;

/**
 * @author Max Grabenhorst
 * @since 1.0.0
 */
public final class UrlRichMediaAsset extends RichMediaAsset {
  private final URL url;
  private final Optional isReusable;

  private UrlRichMediaAsset(Type type, URL url, Optional isReusable) {
    super(type);
    this.url = url;
    this.isReusable = isReusable;
  }

  public static UrlRichMediaAsset create(@NonNull Type type, @NonNull URL url) {
    if (type == null) {
      throw new java.lang.IllegalArgumentException("type is marked @NonNull but is null");
    }
    if (url == null) {
      throw new java.lang.IllegalArgumentException("url is marked @NonNull but is null");
    }
    return create(type, url, empty());
  }

  public static UrlRichMediaAsset create(
      @NonNull Type type, @NonNull URL url, @NonNull Optional isReusable) {
    if (type == null) {
      throw new java.lang.IllegalArgumentException("type is marked @NonNull but is null");
    }
    if (url == null) {
      throw new java.lang.IllegalArgumentException("url is marked @NonNull but is null");
    }
    if (isReusable == null) {
      throw new java.lang.IllegalArgumentException("isReusable is marked @NonNull but is null");
    }
    return new UrlRichMediaAsset(type, url, isReusable);
  }

  public URL url() {
    return url;
  }

  public Optional isReusable() {
    return isReusable;
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public java.lang.String toString() {
    return "UrlRichMediaAsset(super="
        + super.toString()
        + ", url="
        + this.url
        + ", isReusable="
        + this.isReusable
        + ")";
  }

  @java.lang.Override
  @java.lang.SuppressWarnings("all")
  public boolean equals(final java.lang.Object o) {
    if (o == this) return true;
    if (!(o instanceof UrlRichMediaAsset)) return false;
    final UrlRichMediaAsset other = (UrlRichMediaAsset) 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$isReusable = this.isReusable;
    final java.lang.Object other$isReusable = other.isReusable;
    if (this$isReusable == null
        ? other$isReusable != null
        : !this$isReusable.equals(other$isReusable)) return false;
    return true;
  }

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

  @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 $isReusable = this.isReusable;
    result = result * PRIME + ($isReusable == null ? 43 : $isReusable.hashCode());
    return result;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy