Class AbstractGroup

  • All Implemented Interfaces:
    java.security.Principal, Group
    Direct Known Subclasses:
    GenericGroup

    public abstract class AbstractGroup
    extends java.lang.Object
    implements Group

    Convenience base class for Group implementations.

    Since:
    4.1
    Author:
    Craig R. McClanahan
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String description
      The description of this group.
      protected java.lang.String groupname
      The group name of this group.
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractGroup()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void addRole​(Role role)
      Add a new Role to those assigned specifically to this group.
      java.lang.String getDescription()
      Return the description of this group.
      java.lang.String getGroupname()
      Return the group name of this group, which must be unique within the scope of a UserDatabase.
      java.lang.String getName()
      Make the principal name the same as the group name.
      abstract java.util.Iterator<Role> getRoles()
      Return the set of Roles assigned specifically to this group.
      abstract UserDatabase getUserDatabase()
      Return the UserDatabase within which this Group is defined.
      abstract java.util.Iterator<User> getUsers()
      Return an Iterator over the set of Users that are members of this group.
      abstract boolean isInRole​(Role role)
      Is this group specifically assigned the specified Role?
      abstract void removeRole​(Role role)
      Remove a Role from those assigned to this group.
      abstract void removeRoles()
      Remove all Roles from those assigned to this group.
      void setDescription​(java.lang.String description)
      Set the description of this group.
      void setGroupname​(java.lang.String groupname)
      Set the group name of this group, which must be unique within the scope of a UserDatabase.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.security.Principal

        equals, hashCode, implies, toString
    • Field Detail

      • description

        protected java.lang.String description
        The description of this group.
      • groupname

        protected java.lang.String groupname
        The group name of this group.
    • Constructor Detail

      • AbstractGroup

        public AbstractGroup()
    • Method Detail

      • getDescription

        public java.lang.String getDescription()
        Return the description of this group.
        Specified by:
        getDescription in interface Group
        Returns:
        the description of this group.
      • setDescription

        public void setDescription​(java.lang.String description)
        Set the description of this group.
        Specified by:
        setDescription in interface Group
        Parameters:
        description - The new description
      • getGroupname

        public java.lang.String getGroupname()
        Return the group name of this group, which must be unique within the scope of a UserDatabase.
        Specified by:
        getGroupname in interface Group
        Returns:
        the group name of this group, which must be unique within the scope of a UserDatabase.
      • setGroupname

        public void setGroupname​(java.lang.String groupname)
        Set the group name of this group, which must be unique within the scope of a UserDatabase.
        Specified by:
        setGroupname in interface Group
        Parameters:
        groupname - The new group name
      • getRoles

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

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

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

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

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

        public abstract void removeRoles()
        Remove all Roles from those assigned to this group.
        Specified by:
        removeRoles in interface Group
      • getName

        public java.lang.String getName()
        Make the principal name the same as the group name.
        Specified by:
        getName in interface java.security.Principal