package com.airlock.iam.authentication.infrastructure.transfer.response;

import com.fasterxml.jackson.annotation.JsonTypeName;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;

@JsonTypeName("authentication.terms-of-service")
public final class TermsOfServiceAuthResultData {
   public static final String JSON_API_ID_DESCRIPTION = "Tag ID that identifies this terms of service instance";
   public static final String TERMS_OF_SERVICES_TYPE = "authentication.terms-of-service";
   @NotNull
   @Schema(description = "The full terms of service text translated into the requested language.")
   private final String disclaimerText;

   @SuppressFBWarnings(justification = "generated code")
   public TermsOfServiceAuthResultData(String disclaimerText) {
      this.disclaimerText = disclaimerText;
   }

   @SuppressFBWarnings(justification = "generated code")
   public String getDisclaimerText() {
      return this.disclaimerText;
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof TermsOfServiceAuthResultData other)) {
         return false;
      } else {
         Object this$disclaimerText = this.disclaimerText;
         Object other$disclaimerText = other.disclaimerText;
         return this$disclaimerText == null ? other$disclaimerText == null : this$disclaimerText.equals(other$disclaimerText);
      }
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public int hashCode() {
      int PRIME = 59;
      int result = 1;
      Object $disclaimerText = this.disclaimerText;
      return result * 59 + ($disclaimerText == null ? 43 : $disclaimerText.hashCode());
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public String toString() {
      return "TermsOfServiceAuthResultData(disclaimerText=" + this.getDisclaimerText() + ")";
   }
}
