An implementation of Group that allows that acts as a stack of Principals
with a single Principal Group member active at any time.
When one adds a Principal to a NestablePrincipal the Principal is pushed onto
the active Princpal stack and any of the Group methods operate as though the
Group contains only the Principal. When removing the Principal that corresponds
to the active Principal, the active Principal is popped from the stack and
the new active Principal is effectively set to the new top of the stack.
The typical usage of this class is when doing a JAAS LoginContext login
to runAs a new Principal with a new CallerPrincipal identity
without destroying the current CallerPrincipal identity and roles.
The stack of the Principals. Elements are pushed/poped by
inserting/removing element 0.
Creates new NestablePrincipal with the given name
Returns an enumeration that contains the single active Principal.
- an Enumeration of the single active Principal.
Removes the first occurence of user from the Principal stack.
user the principal to remove from this group.
- true if the principal was removed, or
false if the principal was not a member.
Pushes the user onto the Principal stack and makes it the active
Returns true if the passed principal is a member of the group.
This method does a recursive search, so if a principal belongs to a
group which is a member of this group, true is returned.
member the principal whose membership is to be checked.
- true if the principal is a member of this group,