package fr.gael.dhus.server.http.webapp.stub.controller.stub_share; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public enum RoleData { AUTHED ("ROLE_AUTHED", "Authed"), SEARCH ("ROLE_SEARCH", "Search"), DOWNLOAD ("ROLE_DOWNLOAD", "Download"), UPLOAD ("ROLE_UPLOAD", "Upload"), USER_MANAGER ("ROLE_USER_MANAGER", "User manager"), DATA_MANAGER ("ROLE_DATA_MANAGER", "Data manager"), SYSTEM_MANAGER ("ROLE_SYSTEM_MANAGER", "System manager"), ARCHIVE_MANAGER ("ROLE_ARCHIVE_MANAGER", "Archive manager"), STATISTICS ("ROLE_STATS", "Statistics"); private static final long serialVersionUID = -3552817193045379891L; private String authority; private String description; private static List<RoleData> displayableRoles; private RoleData (String authority, String description) { this.authority = authority; this.description = description; } private RoleData () { } public String getAuthority () { return this.authority; } public String toString () { return description; } /** * Return all roles except AUTHED, which is not a real role. * * @return */ public static List<RoleData> getEffectiveRoles () { if (displayableRoles == null) { displayableRoles = new ArrayList<RoleData> (Arrays.asList (RoleData.values())); displayableRoles.remove (AUTHED); } return displayableRoles; } }