ARoad0.gBaseInterface
Interface ImmutableGroupID

All Superinterfaces:
ACSObject, BaseBeanManager, BaseObject, BoundBean, java.lang.Cloneable, java.lang.Comparable, Copyable, FinalizedObject, FinalizedObjectForUser, ImmutableBasic, ImmutableEligibleParty, ImmutableGroupIDMember, ImmutablePrivilegeSource, ImmutableSource, ImmutableTarget, PrivilegeUser
All Known Subinterfaces:
GroupID, GroupIDMySQL, RoleMySQL
All Known Implementing Classes:
GroupIDImpl, GroupIDMySQLImpl, RoleMySQLImpl

public interface ImmutableGroupID
extends ImmutableGroupIDMember

This immutable interface is responsible for modeling a GroupIDMember that owns a set of members, and which has Account/Group rights on Resources. Typically, it handles a set of userIDs and GroupIDs. The membership links between the groupID and each member are managed by the GroupID instance. Resources may also be registered as owned by a GroupID. Aa rights user, an actor may also have a groupID as a current group, and it is then registered in a third list. An actor may have several secondary groups as rights user, in a fourth list. These relations are managed by this interface.


Method Summary
 boolean containsAsIndirectMember(ImmutableGroupIDMember _ep)
          Test if an eligible party is an indirect member of this GroupID, or if it is an hard alias having a reference which is an indirect member.
 boolean containsAsIndirectMemberWithoutAliasing(ImmutableGroupIDMember _ep)
          Test if an eligible party is a indirect member of this GroupID, and do not test if it has an alias which is an indirect member.
 boolean containsAsMember(ImmutableGroupIDMember _ep)
          Test if an eligible party is a direct member of this GroupID, or if it has an alias which is a direct member Synchronized on l_Members_.
 boolean containsAsMemberWithoutAliasing(ImmutableGroupIDMember _ep)
          Test if an eligible party is a direct member of this GroupID, and do not test if it has an alias which is a direct member.
 Actor[] getEorL_GroupIDCurrentActors()
          A current actor runs under this groupID.
 Actor[] getEorL_GroupIDCurrentActorsAsSecondaryGroup()
          Get the actors in the ACS that have, in the role of a running processes, this group as a secondary groupID.
 Resource[] getEorL_GroupIDOwnResources()
          A currentGroupID or a secondary groupID is a property of an actor, which is a kind of resource.
 ImmutableGroupIDMember[] getEorL_Members()
          Get the members of the GroupID.
 GroupID getFirstIntermediateForIndirectMember(ImmutableGroupIDMember _ep)
          Gets the first member which contains the argument as member or indirect member.
 int getOrder()
           
 boolean ownsResource(Resource _res)
           
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableGroupIDMember
getEorL_GroupID, isAdmin
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableEligibleParty
getEorL_AclConnectedResources, getEPType, getM_ConstrainedChildACS
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableBasic
getComment, getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getImpliedViews, getIS_Name, getL_AcsOfSoftReferences, getL_SoftAlias, getPropertyChangeListeners, getSerialVersionUID, getVirtualFolders
 
Methods inherited from interface ARoad0.gBaseInterface.Copyable
copy
 
Methods inherited from interface ARoad0.gBaseInterface.BoundBean
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface ARoad0.gBaseInterface.FinalizedObjectForUser
finalizeForUser
 
Methods inherited from interface ARoad0.gBaseInterface.FinalizedObject
finalizeForBase
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutablePrivilegeSource
getEorL_SourcePrivilegeForLinks, getEorL_SourcePrivilegeForTypes, getEorL_SourcePrivileges
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableSource
getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getL_AcsOfSoftReferences, getL_SoftAlias, getType
 
Methods inherited from interface ARoad0.gBaseInterface.ACSObject
getAcsName, getEorACS
 
Methods inherited from interface ARoad0.gBaseInterface.BaseObject
equals, getFullName, getName, getNickName, hashCode
 
Methods inherited from interface ARoad0.gBaseInterface.BaseBeanManager
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableTarget
getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getL_AcsOfSoftReferences, getL_SoftAlias, getType
 

Method Detail

getEorL_Members

ImmutableGroupIDMember[] getEorL_Members()
Get the members of the GroupID.

Returns:
members of the groupID as an External Object Reference. This is an ordered list without null member, and without empty member after the first update.

containsAsMember

boolean containsAsMember(ImmutableGroupIDMember _ep)
Test if an eligible party is a direct member of this GroupID, or if it has an alias which is a direct member Synchronized on l_Members_.

Returns:
true if _ep is a member of the GroupID.

containsAsMemberWithoutAliasing

boolean containsAsMemberWithoutAliasing(ImmutableGroupIDMember _ep)
Test if an eligible party is a direct member of this GroupID, and do not test if it has an alias which is a direct member. Synchronized on l_Members_.

Returns:
true if _ep is a member of the GroupID.

getFirstIntermediateForIndirectMember

GroupID getFirstIntermediateForIndirectMember(ImmutableGroupIDMember _ep)
Gets the first member which contains the argument as member or indirect member. Synchronized on l_Members_.

Parameters:
_ep - to test. May be null.
Returns:
the first member. May be null.

containsAsIndirectMember

boolean containsAsIndirectMember(ImmutableGroupIDMember _ep)
Test if an eligible party is an indirect member of this GroupID, or if it is an hard alias having a reference which is an indirect member. Caution: if the argument is the alias of a GroupIDMember, the test is applied only to the reference as potential member, and not to the argument. Synchronized on l_Members_.

Returns:
true if _ep is an indirect member of the GroupID.

containsAsIndirectMemberWithoutAliasing

boolean containsAsIndirectMemberWithoutAliasing(ImmutableGroupIDMember _ep)
Test if an eligible party is a indirect member of this GroupID, and do not test if it has an alias which is an indirect member. Synchronized on l_Members_.

Returns:
true if _ep is an indirect member of the GroupID.

getOrder

int getOrder()
Returns:
the order of the groupID - on Unix/Linux : 16-bit group identifier (GID)

getEorL_GroupIDOwnResources

Resource[] getEorL_GroupIDOwnResources()
A currentGroupID or a secondary groupID is a property of an actor, which is a kind of resource. But these actors are NOT returned by this method.

Returns:
array of the resources in the ACS for which this group is their primary groupID.

getEorL_GroupIDCurrentActors

Actor[] getEorL_GroupIDCurrentActors()
A current actor runs under this groupID. A current actor may be an own resource of this groupID or not.

Returns:
array of the current actors attached to this groupID. May be empty but not null.

getEorL_GroupIDCurrentActorsAsSecondaryGroup

Actor[] getEorL_GroupIDCurrentActorsAsSecondaryGroup()
Get the actors in the ACS that have, in the role of a running processes, this group as a secondary groupID. If this groupID is the main groupID or the current groupID of an actor, it is NOT returned by this method.

Returns:
array of the actors in the ACS that have this group as a secondary groupID. May be empty but not null.

ownsResource

boolean ownsResource(Resource _res)
Returns:
true if it owns the resource.