ARoad0.AcsAddon.Accbee.Ubuntu.gBaseInterface
Interface ResourceUbuntu

All Superinterfaces:
ACSObject, ACSObjectAddon, BaseBeanManager, BaseObject, Basic, BoundBean, java.lang.Cloneable, java.lang.Comparable, Copyable, FinalizedObject, FinalizedObjectForUser, ImmutableBasic, ImmutableLeaf, ImmutablePrivilegeTarget, ImmutableResource, ImmutableTarget, Leaf, PrivilegeTarget, PrivilegeUser, Resource
All Known Subinterfaces:
ActorUbuntu, DirectoryUbuntu, ExecutableUbuntu
All Known Implementing Classes:
ActorUbuntuImpl, DirectoryUbuntuImpl, ExecutableUbuntuImpl, ResourceUbuntuImpl

public interface ResourceUbuntu
extends Resource, ACSObjectAddon

This interface is responsible for modeling a Linux Ubuntu resource. It handles the AGO 'Other' rights and sticky bit in a Linux/Unix operating system. It has an umask from its UserIDUbuntu, to set the default AGO rights. It handles also the AGO inherited rights for 'Other' rights, and the methods setAGOAccessFromTheParentOther() and fireL_inheritedOtherRights() are reserved to calls from the Ubuntu gBase package. This class has several subclasses in this package. All variables are protected.


Method Summary
 void fireL_inheritedOtherRights(StringRight[] _l_old, StringRight[] _l_new)
          Fires the event 'InheritedOtherRights', from the parent of the resource 'other' category.
 boolean getAGOAccessFromTheParentOther()
           
 StringRight[] getL_inheritedGroupRights()
          Gets the inherited rights from the parent of the resource group, including the parent sticky bit.
 StringRight[] getL_inheritedOtherRights()
          Gets the inherited rights from the parent of the resource for 'other' AGO rights.
 StringRight[] getL_otherRights()
          Gets the access rights for the Eligible Parties which are not the UserID or the GroupID owners of this resource, nor the root UserID.
 void setAGOAccessFromTheParentOther(boolean _b)
          Called indirectly by DirectoryUbuntuImpl.setL_otherRights().
 void setL_otherRights(StringRight[] _s)
          Sets the rights for the EligibleParties which are not 'root' nor this resource userID, and which are not members of this resource groupID.
 
Methods inherited from interface ARoad0.gBaseInterface.Resource
addAclEntry, copyWithoutInternalAcl, removeAclEntry, resetInheritedAclEntryRights, resetInheritedPrivilegeRights, selectInheritedPrivilege, setEorGroupID, setEorUserID, setL_groupRights, setL_ownerRights, setL_rootRights, setResourceType
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableResource
containsAclEntryToEP, getActorActivated, getAGOAccessFromTheParentAccount, getAGOAccessFromTheParentGroup, getEorGroupID, getEorImmutableL_TargetInheritedAclEntries, getEorL_EPthroughAclEntry, getEorUserID, getL_aclEntry, getL_AcsControllers, getL_groupRights, getL_inheritedOwnerRights, getL_ownerRights, getL_rootRights, getM_ConstrainedChildACS, getM_TargetInheritedACLRights, getResourceType, hasTheAccountAndGroupOfParent, selectInheritedAclEntry
 
Methods inherited from interface ARoad0.gBaseInterface.Basic
finalizeForUser, setComment
 
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.PrivilegeTarget
addEorPrivilegeForTypeToTarget, removeEorPrivilegeToTarget
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutablePrivilegeTarget
getEorImmutableL_TargetInheritedLinkedPrivileges, getEorL_TargetPrivilegeForLinks, getEorL_TargetPrivilegeForTypes, getEorL_TargetPrivileges, getM_TargetInheritedLinkedPRIRights, getType
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableTarget
getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getL_AcsOfSoftReferences, getL_SoftAlias
 
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.ACSObjectAddon
getAddonInnerPropertiesToListen
 

Method Detail

getL_otherRights

StringRight[] getL_otherRights()
Gets the access rights for the Eligible Parties which are not the UserID or the GroupID owners of this resource, nor the root UserID. Does not take in account if the parent tree does not allow any access.

Returns:
the AGO 'other' rights, following the Unix/Linux scheme. No null value. May be empty, or null only if the instance is finalized.

setL_otherRights

void setL_otherRights(StringRight[] _s)
                      throws UpDateError
Sets the rights for the EligibleParties which are not 'root' nor this resource userID, and which are not members of this resource groupID. The rights may have the two sens to implement Umask, and may be acsrights or metarights. The ACS constraints on 'OtherRights' are applied only if they are not null, otherwise all the arguments are validated. The negative rights are subtracted from the positive rights. No action if the instance has been finalized. If a new right is not allowed by the ACS, it is removed and the other rights are kept. Noop if the resource type contains 'byAcsCreator' or 'immutable'. Fires a PropertyChange for 'OtherRights'.

Parameters:
_s - array of acsrights and/or metarights. May be null.
Throws:
UpDateError - if the other rights are immutable, or if there are more than 20 increasing chains to analyze from one lesser right, or if the new rights contain a 'delete' or 'rename' right, while its parent does not allow it through its deleting-renaming flag.

getL_inheritedGroupRights

StringRight[] getL_inheritedGroupRights()
Gets the inherited rights from the parent of the resource group, including the parent sticky bit.

Specified by:
getL_inheritedGroupRights in interface ImmutableResource
Returns:
an array of access rights for the GroupID which contains this resource, in the main ACS. May be empty, or null only if the instance is finalized.

getL_inheritedOtherRights

StringRight[] getL_inheritedOtherRights()
Gets the inherited rights from the parent of the resource for 'other' AGO rights.

Returns:
an array of access rights for the 'other' AGO category, in the main ACS. May be empty, or null only if the instance is finalized.

getAGOAccessFromTheParentOther

boolean getAGOAccessFromTheParentOther()
Returns:
true if the parent authorizes its 'other' AGO category to have access to this instance.

setAGOAccessFromTheParentOther

void setAGOAccessFromTheParentOther(boolean _b)
Called indirectly by DirectoryUbuntuImpl.setL_otherRights(). Caution: This method is public to be in ResourceMySQL. ResourceUbuntuImpl is not the superclass of DirectoryUbuntuImpl or ActorUbuntuImpl, so it is not possible to put this method only in ResourceUbuntuImpl, like the similar ones in the generic gBase package. But this method is reserved to calls from this Ubuntu gBase classes.

Parameters:
_b - true if the parent authorizes its 'other' AGO category to have access to this instance.

fireL_inheritedOtherRights

void fireL_inheritedOtherRights(StringRight[] _l_old,
                                StringRight[] _l_new)
Fires the event 'InheritedOtherRights', from the parent of the resource 'other' category. Called indirectly by the parent DirectoryUbuntuImpl.setL_otherRights() method. Caution: This method is public to be in ResourceMySQL. ResourceUbuntuImpl is not the superclass of DirectoryUbuntuImpl or ActorUbuntuImpl, so it is not possible to put this method only in ResourceUbuntuImpl, like the similar ones in the generic gBase package. But this method is reserved to calls from this Ubuntu gBase classes.

Parameters:
_l_old - an array of the old access rights for the 'other' AGO category, in the main ACS. May be empty.
_l_new - an array of the new access rights for the 'other' AGO category, in the main ACS. May be empty.