package com.airlock.iam.oauth2.domain.model.clientauthentication;

import com.airlock.iam.oauth2.api.domain.model.clientauthentication.OAuth2AuthClientId;
import com.airlock.iam.oauth2.api.domain.model.clientauthentication.OAuth2ClientAuthenticationPayload;
import com.airlock.iam.oauth2.api.domain.model.clientauthentication.OAuth2ClientAuthenticationVerificationMethod;
import com.airlock.iam.oauth2.domain.model.clientauthentication.method.KnownClientAuthenticationMethod;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Optional;

public final class NoClientAuthenticationPayload implements OAuth2ClientAuthenticationPayload {
   public static final NoClientAuthenticationPayload NO_AUTHENTICATION_PAYLOAD = new NoClientAuthenticationPayload();

   @Override
   public Optional<OAuth2AuthClientId> clientId() {
      return Optional.empty();
   }

   @Override
   public OAuth2ClientAuthenticationVerificationMethod method() {
      return KnownClientAuthenticationMethod.NONE;
   }

   @SuppressFBWarnings(justification = "generated code")
   private NoClientAuthenticationPayload() {
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public boolean equals(Object o) {
      return o == this ? true : o instanceof NoClientAuthenticationPayload;
   }

   @SuppressFBWarnings(justification = "generated code")
   @Override
   public int hashCode() {
      int result = 1;
      return 1;
   }
}
