IGroupMember
defines common behavior for both the leaf IEntity
and composite IEntityGroup
sub-types that together make up a Groups structure. An IGroupMember
can answer both its parents and its children but has no api for adding or removing them. These methods are defined on the composite type, IEntityGroup
, since you add a member to a group, and not vice versa.
Because it extends IBasicEntity
, an IGroupMember
has an EntityIdentifier
that can be used to cache and lock it. A leaf IGroupMember
also has a separate EntityIdentifier
for its underlying entity. This second EntityIdentifier
is used to create and record group memberships. In the case of a composite (non-leaf) IGroupMember
, both EntityIdentifiers
are the same.
Take care to implement equals()
and hashCode()
so that duplicates returned from "deep" methods can be recognized.
@author Dan Ellentuck
@version $Revision: 19776 $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|