package com.airlock.iam.oauth2.domain.service.client.resource;

import com.airlock.iam.common.api.domain.model.role.Role;
import com.airlock.iam.common.api.domain.model.user.ProvidedUsername;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Collections;
import java.util.Map;
import java.util.Optional;
import java.util.Set;

public final class FailedOAuth2SingleResourceData implements OAuth2SingleResourceData {
   private static final FailedOAuth2SingleResourceData INSTANCE = new FailedOAuth2SingleResourceData();

   public static FailedOAuth2SingleResourceData failedResourceData() {
      return INSTANCE;
   }

   @Override
   public Optional<ProvidedUsername> getUsername() {
      return Optional.empty();
   }

   @Override
   public Set<Role> getRoles() {
      return Collections.emptySet();
   }

   @Override
   public Map<String, Object> getContextData() {
      return Collections.emptyMap();
   }

   @Override
   public boolean isSuccessful() {
      return false;
   }

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