package com.airlock.iam.oauth2.application.configuration.introspection;

import com.airlock.iam.oauth2.application.service.introspection.TokenIntrospectionService;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public final class TokenIntrospectionSettings {
   private final TokenIntrospectionService tokenIntrospectionService;
   private final BasicAuthTokenIntrospectionAuthenticationConfig authenticationConfig;

   @SuppressFBWarnings(justification = "generated code")
   public TokenIntrospectionSettings(TokenIntrospectionService tokenIntrospectionService, BasicAuthTokenIntrospectionAuthenticationConfig authenticationConfig) {
      this.tokenIntrospectionService = tokenIntrospectionService;
      this.authenticationConfig = authenticationConfig;
   }

   @SuppressFBWarnings(justification = "generated code")
   public TokenIntrospectionService getTokenIntrospectionService() {
      return this.tokenIntrospectionService;
   }

   @SuppressFBWarnings(justification = "generated code")
   public BasicAuthTokenIntrospectionAuthenticationConfig getAuthenticationConfig() {
      return this.authenticationConfig;
   }

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

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

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public String toString() {
      return "TokenIntrospectionSettings(tokenIntrospectionService="
         + this.getTokenIntrospectionService()
         + ", authenticationConfig="
         + this.getAuthenticationConfig()
         + ")";
   }
}
