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()
        Returns:
        the set of Roles assigned specifically to this group.
      • getUsers

        public java.util.Iterator<User> getUsers()
        Returns:
        the set of Users that are members of this group.
      • addRole

        public void addRole​(Role role)
        Description copied from interface: Group
        Add a new Role to those assigned specifically to this group.
        Parameters:
        role - The new role
      • isInRole

        public boolean isInRole​(Role role)
        Description copied from interface: Group
        Is this group specifically assigned the specified Role?
        Parameters:
        role - The role to check
        Returns:
        true if the group is assigned to the specified role otherwise false
      • removeRole

        public void removeRole​(Role role)
        Description copied from interface: Group
        Remove a Role from those assigned to this group.
        Parameters:
        role - The old role
      • removeRoles

        public void removeRoles()
        Description copied from interface: Group
        Remove all Roles from those assigned to this group.
      • 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