2024-04-26 12:50:56 +02:00
|
|
|
package org.opencdmp.authorization;
|
2024-03-13 16:04:17 +01:00
|
|
|
|
|
|
|
import gr.cite.commons.web.authz.policy.AuthorizationRequirement;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.HashSet;
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
public class AffiliatedAuthorizationRequirement implements AuthorizationRequirement {
|
|
|
|
private final Set<String> requiredPermissions;
|
|
|
|
private final boolean matchAll;
|
|
|
|
|
|
|
|
public AffiliatedAuthorizationRequirement(Set<String> requiredPermissions) {
|
|
|
|
this(false, requiredPermissions);
|
|
|
|
}
|
|
|
|
|
|
|
|
public AffiliatedAuthorizationRequirement(String... requiredPermissions) {
|
|
|
|
this(false, requiredPermissions);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public AffiliatedAuthorizationRequirement(boolean matchAll, Set<String> requiredPermissions) {
|
|
|
|
this.matchAll = matchAll;
|
|
|
|
this.requiredPermissions = requiredPermissions;
|
|
|
|
}
|
|
|
|
|
|
|
|
public AffiliatedAuthorizationRequirement(boolean matchAll, String... requiredPermissions) {
|
|
|
|
this.requiredPermissions = new HashSet<>();
|
|
|
|
this.matchAll = matchAll;
|
|
|
|
this.requiredPermissions.addAll(Arrays.stream(requiredPermissions).distinct().toList());
|
|
|
|
}
|
|
|
|
|
|
|
|
public Set<String> getRequiredPermissions() {
|
|
|
|
return requiredPermissions;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getMatchAll() {
|
|
|
|
return matchAll;
|
|
|
|
}
|
|
|
|
}
|