package edu.harvard.iq.dataverse.engine.command.impl; import edu.harvard.iq.dataverse.Dataverse; import edu.harvard.iq.dataverse.DvObject; import edu.harvard.iq.dataverse.authorization.DataverseRole; import edu.harvard.iq.dataverse.authorization.Permission; import edu.harvard.iq.dataverse.engine.command.AbstractCommand; import edu.harvard.iq.dataverse.engine.command.CommandContext; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; import edu.harvard.iq.dataverse.engine.command.RequiredPermissions; import edu.harvard.iq.dataverse.engine.command.exception.CommandException; import java.util.Set; /** * List roles defined at a the given {@link DvObject}. * @author michael */ @RequiredPermissions( Permission.ManageDataversePermissions ) public class ListRolesCommand extends AbstractCommand<Set<DataverseRole>> { private final Dataverse definitionPoint; public ListRolesCommand(DataverseRequest aRequest, Dataverse aDefinitionPoint) { super(aRequest, aDefinitionPoint); definitionPoint = aDefinitionPoint; } @Override public Set<DataverseRole> execute(CommandContext ctxt) throws CommandException { return definitionPoint.getRoles(); } }