package edu.harvard.iq.dataverse.authorization.groups.impl.builtin; import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser; import edu.harvard.iq.dataverse.authorization.RoleAssigneeDisplayInfo; import edu.harvard.iq.dataverse.authorization.groups.Group; import edu.harvard.iq.dataverse.authorization.groups.GroupProvider; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; public class AuthenticatedUsers implements Group { private static final AuthenticatedUsers instance = new AuthenticatedUsers(); private AuthenticatedUsers() { } public static AuthenticatedUsers get() { return instance; } @Override public boolean contains(DataverseRequest ra) { return (ra.getUser() instanceof AuthenticatedUser); } @Override public boolean isEditable() { return false; } @Override public GroupProvider getGroupProvider() { return BuiltInGroupsProvider.get(); } @Override public String getIdentifier() { return ":authenticated-users"; } @Override public RoleAssigneeDisplayInfo getDisplayInfo() { return new RoleAssigneeDisplayInfo("Anyone with a Dataverse account", null); } @Override public String getAlias() { return getGroupProvider().getGroupProviderAlias() + Group.PATH_SEPARATOR + "authenticated-users"; } @Override public String getDisplayName() { return "Authenticated Users"; } @Override public String getDescription() { return "All users, except for guests"; } @Override public String toString() { return "[AuthenticatedUsers " + getIdentifier() + "]"; } }