package org.infinispan.security.impl; import java.util.Collections; import java.util.Set; /** * SubjectACL. * * @author Tristan Tarrant * @since 8.1 */ public class SubjectACL { private final Set<String> roles; private final int mask; public SubjectACL(Set<String> roles, int mask) { this.roles = Collections.unmodifiableSet(roles); this.mask = mask; } public int getMask() { return mask; } public Set<String> getRoles() { return roles; } public boolean containsRole(String role) { return roles.contains(role); } public boolean matches(int permissionMask) { return (mask & permissionMask) == permissionMask; } @Override public String toString() { return "SubjectACL [roles=" + roles + ", mask=" + mask + "]"; } }