Class GenericGroup<UD extends UserDatabase>

  • Type Parameters:
    UD - The specific type of UserDase with which this group is associated
    All Implemented Interfaces:
    java.security.Principal, Group
    Direct Known Subclasses:
    MemoryGroup

    public class GenericGroup<UD extends UserDatabase>
    extends AbstractGroup

    Concrete implementation of Group for a UserDatabase.

    Author:
    Craig R. McClanahan
    • Field Detail

      • roles

        protected final java.util.concurrent.CopyOnWriteArrayList<Role> roles
        The set of Roles associated with this group.
    • Method Detail

      • getRoles

        public java.util.Iterator<Role> getRoles()
        Return the set of Roles assigned specifically to this group.
        Specified by:
        getRoles in interface Group
        Specified by:
        getRoles in class AbstractGroup
        Returns:
        the set of Roles assigned specifically to this group.
      • getUsers

        public java.util.Iterator<User> getUsers()
        Return the set of Users that are members of this group.
        Specified by:
        getUsers in interface Group
        Specified by:
        getUsers in class AbstractGroup
        Returns:
        the set of Users that are members of this group.
      • addRole

        public void addRole​(Role role)
        Add a new Role to those assigned specifically to this group.
        Specified by:
        addRole in interface Group
        Specified by:
        addRole in class AbstractGroup
        Parameters:
        role - The new role
      • isInRole

        public boolean isInRole​(Role role)
        Is this group specifically assigned the specified Role?
        Specified by:
        isInRole in interface Group
        Specified by:
        isInRole in class AbstractGroup
        Parameters:
        role - The role to check
        Returns:
        true if the group is assigned to the specified role otherwise false
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface java.security.Principal
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.security.Principal
        Overrides:
        hashCode in class java.lang.Object