001package jmri;
002
003import java.util.*;
004
005/**
006 * A role in the permission system.
007 *
008 * @author Daniel Bergqvist (C) 2024
009 */
010public interface Role {
011
012    String getName();
013
014    boolean isSystemRole();
015
016    int getPriority();
017
018    String getSystemName();
019
020    Map<Permission,Boolean> getPermissions();
021
022    boolean hasPermission(Permission permission);
023
024    void setPermission(Permission permission, boolean enable);
025
026    boolean isGuestRole();
027
028    boolean isStandardUserRole();
029
030    boolean isAdminRole();
031
032}