package ru.micord.ervu.account_applications.security.model.jwt.authentication;

import java.util.Collection;

import org.apache.commons.lang3.NotImplementedException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;

public class JwtTokenDummy implements Authentication {

  private final String token;
  private final String permissionsHeader;

  public JwtTokenDummy(String token, String permissionsHeader) {
    this.token = token;
    this.permissionsHeader = permissionsHeader;
  }

  public String getToken() {
    return token;
  }

  public String getPermissionsHeader() {
    return permissionsHeader;
  }

  @Override
  public Collection<? extends GrantedAuthority> getAuthorities() {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public Object getCredentials() {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public Object getDetails() {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public Object getPrincipal() {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public boolean isAuthenticated() {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {
    throw new NotImplementedException("Not implemented for dummy");
  }

  @Override
  public String getName() {
    throw new NotImplementedException("Not implemented for dummy");
  }
}
