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.
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.ImmutableBasic |
getComment, getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getImpliedViews, getIS_Name, getL_AcsOfSoftReferences, getL_SoftAlias, getPropertyChangeListeners, getSerialVersionUID, getVirtualFolders |
Methods inherited from interface ARoad0.gBaseInterface.Copyable |
copy |
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.