All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.scalecube.services.auth.ServicePrincipal Maven / Gradle / Ivy

package io.scalecube.services.auth;

import java.util.Collection;
import java.util.Objects;
import java.util.Set;

public class ServicePrincipal implements Principal {

  private final String role;
  private final Set permissions;

  /**
   * Constructor.
   *
   * @param role service role
   * @param permissions service permissions
   */
  public ServicePrincipal(String role, Set permissions) {
    this.role = role;
    this.permissions = Set.copyOf(permissions);
  }

  @Override
  public String role() {
    return role;
  }

  @Override
  public boolean hasRole(String role) {
    return Objects.equals(this.role, role);
  }

  @Override
  public Collection permissions() {
    return permissions;
  }

  @Override
  public boolean hasPermission(String permission) {
    return permissions.contains(permission);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy