001package jmri; 002 003import javax.annotation.Nonnull; 004 005/** 006 * Defines a permission. 007 * 008 * @author Daniel Bergqvist (C) 2024 009 */ 010public interface Permission { 011 012 /** 013 * Get the owner 014 * @return the owner 015 */ 016 @Nonnull 017 PermissionOwner getOwner(); 018 019 /** 020 * Get the name of the permission 021 * @return the name 022 */ 023 @Nonnull 024 String getName(); 025 026 /** 027 * Get the default permission for a role. 028 * @param role the role 029 * @return the default 030 */ 031 boolean getDefaultPermission(Role role); 032 033}