ARoad0.AcsAddon.Accbee.Ubuntu.gBase
Class ExecutableUbuntuImpl

java.lang.Object
  extended by ARoad0.gBase.BasicImpl
      extended by ARoad0.gBase.ResourceImpl
          extended by ARoad0.gBase.ActorImpl
              extended by ARoad0.AcsAddon.Accbee.Ubuntu.gBase.ActorUbuntuImpl
                  extended by ARoad0.AcsAddon.Accbee.Ubuntu.gBase.ExecutableUbuntuImpl
All Implemented Interfaces:
ActorUbuntu, ExecutableUbuntu, ResourceUbuntu, ACSObject, ACSObjectAddon, Actor, BaseBeanManager, BaseObject, Basic, BoundBean, Copyable, EligibleParty, FinalizedObject, FinalizedObjectForUser, ImmutableActor, ImmutableBasic, ImmutableEligibleParty, ImmutableLeaf, ImmutablePrivilegeSource, ImmutablePrivilegeTarget, ImmutableResource, ImmutableSource, ImmutableTarget, Leaf, PrivilegeSource, PrivilegeTarget, PrivilegeUser, Resource, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable

public class ExecutableUbuntuImpl
extends ActorUbuntuImpl
implements ExecutableUbuntu

This class is responsible for modeling a Linux Ubuntu executable, which may have Linux/Unix setUID and setGID capabilities. To be more general, the changing capability is modelized, with EnforceGID and EnforceUID. As every actor, it implements EligibleParty to have rights on resources through aclEntries. It uses an embedded instance of CAgoUserImplUbuntu to handle the AGO 'Other' rights and sticky bit in a Linux/Unix operating system. This class is declared in the ACS vocabulory by the key ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES.

It is a javabean with the following bound properties: 'EnforceUID', 'EnforceGID'. The listeners are proper to this instance, outside gBase, transient (not serialized in this instance backup). They are called in any order. They receive only a copy of the new value, to protect the property. All the exceptions from the listeners are catched, and a dialog box is displayed to inform the user. All variables are protected. This class has no subclass in this package.

See Also:
Serialized Form

Field Summary
static ExecutableUbuntuImpl EMPTY_INSTANCE
          A reusable empty instance for initialization, to avoid the use of 'new' for temporary values.
protected  boolean EnforceGID_
           
protected  boolean EnforceUID_
           
protected  java.lang.String exeType_
           
static java.io.ObjectStreamField[] serialPersistentFields
          variable for the JDK 2 serialization
private static long serialVersionUID__
           
 
Fields inherited from class ARoad0.AcsAddon.Accbee.Ubuntu.gBase.ActorUbuntuImpl
agoHandler_
 
Fields inherited from class ARoad0.gBase.ActorImpl
bridgeTarget_, currentGroupID_, currentUserID_, isRightProxy_, l_bridgeSources_, l_SecondaryGroup_, m_AclEntriesResources_
 
Fields inherited from class ARoad0.gBase.ResourceImpl
actorActivated_, groupID_, l_aclEntry_, l_groupRights_, l_inheritedT_AclEntries_, l_OpenAcsControllerNames_, l_ownerRights_, l_parentTreeAGRightsAllowToGoAcross_, l_rootRights_, m_inheritedT_ACLRights_, parent_, userID_
 
Fields inherited from class ARoad0.gBase.BasicImpl
aCS_, aCS_Name_, aliasHandler_, changeSupport_, comment_, folderMember_, INCREMENT_CAPACITY, INITIAL_CAPACITY, INITIAL_CAPACITY_2, iS_Name_, m_ConstrainedChildACS_, name_, PRIME, privHandler_, type_
 
Constructor Summary
ExecutableUbuntuImpl()
           
ExecutableUbuntuImpl(ImmutableName _name, ACS _acs, Directory _parent, UserID _owner, java.lang.String _resourceType, ImmutableActor _bridgeRef)
          Used by the beamer editor for the ACS resources list, from the 'New' button, and by the gWork.AcsFactoryUbuntu.
 
Method Summary
 void addPropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
          Adds a listener to the bean.
 java.lang.Object clone()
          Clones without register the new object in the ACSs.
 java.lang.Object copy(ImmutableName _name, ACS _acs, Directory _parent, java.lang.Boolean _toRegisterInManager)
          UNUSED.
protected  ExecutableUbuntuImpl copyOwnVariables(ExecutableUbuntuImpl _result, boolean _withoutInternalAcl)
          This method provides a copy of the instance variables.
 java.lang.Object copyWithoutInternalAcl(ImmutableName _name, ACS _acs, Directory _parent, java.lang.Boolean _toRegisterInManager)
          UNUSED.
 boolean equals(java.lang.Object _obj)
          Does not compare the comment.
 java.util.Map<java.lang.String,java.lang.String> getAddonInnerPropertiesToListen()
          Gets the specific events to listen from an ACSObject, because these events should change the view rights of an ACSObject in an ACS Addon.
 boolean getEnforceGID()
           
 boolean getEnforceUID()
           
 java.lang.String getExeType()
           
 long getSerialVersionUID()
          For the java serialization.
 int hashCode()
           
 void removePropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
          Removes a listener to the bean.
 void setEnforceGID(boolean _b)
          Noop if the resource type contains 'byAcsCreator' or 'immutable'.
 void setEnforceUID(boolean _b)
          Noop if the resource type contains 'byAcsCreator' or 'immutable'.
 void setEorCurrentGroupIDForUser(ImmutableGroupID _g)
          Check getEnforceGID() then call the super method.
 void setEorCurrentUserIDForUser(ImmutableUserID _u)
          Checks getEnforceUID() then calls the super method.
 void setExeType(java.lang.String _p)
          Fire an event 'ExeType'.
 java.lang.String toString()
          Gets the name last component of the instance.
 
Methods inherited from class ARoad0.AcsAddon.Accbee.Ubuntu.gBase.ActorUbuntuImpl
addPropertyChangeListener, copyOwnVariables, finalizeForBase, fireL_inheritedOtherRights, getAGOAccessFromTheParentOther, getL_inheritedGroupRights, getL_inheritedOtherRights, getL_otherRights, removePropertyChangeListener, setAGOAccessFromTheParentOther, setEorUserID, setIsRightProxy, setL_groupRights, setL_otherRights
 
Methods inherited from class ARoad0.gBase.ActorImpl
addAclEntryToEP, addBridgeSource, addEorPrivilegeForLinksToSource, addEorPrivilegeForTypeToSource, copyOwnVariables, finalizeFromDeserialization, getAuthorizeCurrentGroupID, getEorACSBridgeTarget, getEorCurrentGroupID, getEorCurrentUserID, getEorL_AclConnectedResources, getEorL_bridgeSources, getEorL_SecondaryGroup, getEorL_SourcePrivilegeForLinks, getEorL_SourcePrivilegeForTypes, getEorL_SourcePrivileges, getEPType, getIsACSBridgeSource, getIsRightProxy, getPropertyChangeListeners, isMemberToSecondaryGroup, removeAclEntryToEP, removeBridgeSource, removeEorCurrentGroupID, removeEorCurrentUserID, removeEorPrivilegeToSource, removeSecondaryGroup, setEorACSBridgeTarget, setEorACSBridgeTarget, setEorCurrentGroupID, setEorCurrentUserID, setEorL_bridgeSources, setEorL_SecondaryGroup, setEorL_SecondaryGroupForUser, setEPType
 
Methods inherited from class ARoad0.gBase.ResourceImpl
addAclEntry, addAcsController, addEorPrivilegeForLinksToTarget, addEorPrivilegeForTypeToTarget, compareTo, containsAclEntryToEP, copyOwnAcl, copyOwnVariables, fireL_inheritedGroupRights, fireL_inheritedOwnerRights, getActorActivated, getAGOAccessFromTheParentAccount, getAGOAccessFromTheParentGroup, getEorGroupID, getEorImmutableL_TargetInheritedAclEntries, getEorImmutableL_TargetInheritedLinkedPrivileges, getEorL_EPthroughAclEntry, getEorL_TargetInheritedAclEntries, getEorL_TargetInheritedLinkedPrivileges, getEorL_TargetPrivilegeForLinks, getEorL_TargetPrivilegeForTypes, getEorL_TargetPrivileges, getEorParent, getEorUserID, getL_aclEntry, getL_AcsControllers, getL_groupRights, getL_inheritedOwnerRights, getL_ownerRights, getL_rootRights, getM_TargetInheritedACLRights, getM_TargetInheritedLinkedPRIRights, getResourceType, hasTheAccountAndGroupOfParent, removeACL, removeAclEntry, removeAcsController, removeEorGroupID, removeEorPrivilegeToTarget, removeEorUserID, resetInheritedAclEntryRights, resetInheritedPrivilegeRights, selectInheritedAclEntry, selectInheritedPrivilege, setAGOAccessFromTheParentAccount, setAGOAccessFromTheParentGroup, setEorGroupID, setEorParent, setL_ownerRights, setL_rootRights, setResourceType
 
Methods inherited from class ARoad0.gBase.BasicImpl
addAcsOfSoftReferences, addConstrainedChildACS, addEorSoftAlias, addInVFolderList, addInViewList, copyOwnVariables, finalize, finalizeForUser, firePropertyChange, getAcsName, getComment, getEorACS, getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getFullName, getHasSoftAlias, getImpliedViews, getIS_Name, getL_AcsOfSoftReferences, getL_SoftAlias, getM_ConstrainedChildACS, getName, getNickName, getType, getVirtualFolders, removeAcsOfSoftReferences, removeConstrainedChildACS, removeEorSoftAlias, removeInVFolderList, removeInViewList, setComment, setEorAliasAsInternalHardReference, setEorReferenceAsInternalHardAlias, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ARoad0.AcsAddon.Accbee.Ubuntu.gBaseInterface.ResourceUbuntu
fireL_inheritedOtherRights, getAGOAccessFromTheParentOther, getL_inheritedGroupRights, getL_inheritedOtherRights, getL_otherRights, setAGOAccessFromTheParentOther, setL_otherRights
 
Methods inherited from interface ARoad0.gBaseInterface.Actor
setEorACSBridgeTarget, setEorL_SecondaryGroupForUser, setIsRightProxy
 
Methods inherited from interface ARoad0.gBaseInterface.Resource
addAclEntry, removeAclEntry, resetInheritedAclEntryRights, resetInheritedPrivilegeRights, selectInheritedPrivilege, setEorGroupID, setEorUserID, setL_groupRights, setL_ownerRights, setL_rootRights, setResourceType
 
Methods inherited from interface ARoad0.gBaseInterface.PrivilegeTarget
addEorPrivilegeForTypeToTarget, removeEorPrivilegeToTarget
 
Methods inherited from interface ARoad0.gBaseInterface.EligibleParty
setEPType
 
Methods inherited from interface ARoad0.gBaseInterface.Basic
finalizeForUser, setComment
 
Methods inherited from interface ARoad0.gBaseInterface.PrivilegeSource
addEorPrivilegeForTypeToSource, removeEorPrivilegeToSource
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableActor
getEorACSBridgeTarget, getEorCurrentGroupID, getEorCurrentUserID, getEorL_bridgeSources, getEorL_SecondaryGroup, getIsACSBridgeSource, getIsRightProxy, isMemberToSecondaryGroup
 
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.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.ImmutableLeaf
compareTo, getEorParent
 
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, getVirtualFolders
 
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
getFullName, getName, getNickName
 
Methods inherited from interface ARoad0.gBaseInterface.BaseBeanManager
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

serialVersionUID__

private static final long serialVersionUID__
See Also:
Constant Field Values

EnforceGID_

protected boolean EnforceGID_

EnforceUID_

protected boolean EnforceUID_

exeType_

protected java.lang.String exeType_

EMPTY_INSTANCE

public static final ExecutableUbuntuImpl EMPTY_INSTANCE
A reusable empty instance for initialization, to avoid the use of 'new' for temporary values. Caution: never change the state of the returned instance.


serialPersistentFields

public static final java.io.ObjectStreamField[] serialPersistentFields
variable for the JDK 2 serialization

Constructor Detail

ExecutableUbuntuImpl

public ExecutableUbuntuImpl()

ExecutableUbuntuImpl

public ExecutableUbuntuImpl(ImmutableName _name,
                            ACS _acs,
                            Directory _parent,
                            UserID _owner,
                            java.lang.String _resourceType,
                            ImmutableActor _bridgeRef)
                     throws CreateError
Used by the beamer editor for the ACS resources list, from the 'New' button, and by the gWork.AcsFactoryUbuntu. Calls the super method.

Parameters:
_name - of the actor as a resource
_acs - main ACS of the actor.
_parent - of the actor
_owner - owns the resource; may be null.
_resourceType - is also the EP type, and may be null if the ACS allows it.
_bridgeRef - another-ACS Actor for which this instance is a bridge; may be null.
Throws:
CreateError - see super(_name, _acs, _parent, _actor_name, _bridgeRef) exception.
Method Detail

copy

public java.lang.Object copy(ImmutableName _name,
                             ACS _acs,
                             Directory _parent,
                             java.lang.Boolean _toRegisterInManager)
                      throws CreateError
UNUSED. This method provides a copy of the instance with another name. Each internal variable that is an external object reference have a shallow copy (no deep copy). Each aclEntry is copied, but not the list of ViewInBase that contains this instance. Caution: do not copy the user and the group if _result does not belong to aCS_ and if there are no user or group in the _result ACS which have similar names - that is that are ended by the same Strings in this instance user or group names. Call copyOwnVariables(). This method is overridden by the subclasses.

Specified by:
copy in interface Copyable
Overrides:
copy in class ActorUbuntuImpl
Parameters:
_name - copy name. Usually creates as an extension of _parent name.
_acs - main ACS of the copy to create. May not be the ACS of this instance.
_parent - DirectoryImpl which belongs to _acs and will have the copy. May be null.
_toRegisterInManager - false if this method must not register the instance in the ACS.
Returns:
a new instance of ExecutableUbuntuImpl
Throws:
CreateError - of the constructor with the same parameters, or if _parent ACS is not _acs, or addAclEntry() exceptions.

copyWithoutInternalAcl

public java.lang.Object copyWithoutInternalAcl(ImmutableName _name,
                                               ACS _acs,
                                               Directory _parent,
                                               java.lang.Boolean _toRegisterInManager)
                                        throws CreateError
UNUSED. This method provides a copy of the instance as copy() but without copying internal aclEntries. Each internal variable that is an external object reference have a shallow copy (no deep copy). Each aclEntry is copied, but not the list of ViewInBase that contains this instance. Caution: does not copy the user and the group if _result does not belong to aCS_ and if there are no user or group in the _result ACS which have similar names - that is that are ended by the same Strings in this instance user or group names. Calls copyOwnVariables(). This method calls the super method and it is overridden by the subclasses.

Specified by:
copyWithoutInternalAcl in interface EligibleParty
Specified by:
copyWithoutInternalAcl in interface Resource
Overrides:
copyWithoutInternalAcl in class ActorImpl
Parameters:
_name - copy name. Usually creates as an extension of _parent name.
_acs - main ACS of the copy to create. May not be the ACS of this instance.
_parent - DirectoryImpl which belongs to _acs and will have the copy. May be null.
_toRegisterInManager - false if this method must not register the instance in the ACS.
Returns:
a new instance of ResourceImpl
Throws:
CreateError - of the constructor with the same parameters, or if _parent ACS is not _acs, or addAclEntry() exceptions.

setExeType

public void setExeType(java.lang.String _p)
Fire an event 'ExeType'. Noop if the resource type is 'byAcsCreator' or 'immutable'.

Specified by:
setExeType in interface ExecutableUbuntu
Parameters:
_p - type of executable. Different to type_ from EP and resourceType from Resource.

getExeType

public final java.lang.String getExeType()
Specified by:
getExeType in interface ExecutableUbuntu
Returns:
String: type of executable. Different to type_ from EP and resourceType from Resource.

setEnforceUID

public void setEnforceUID(boolean _b)
                   throws UpDateError
Noop if the resource type contains 'byAcsCreator' or 'immutable'. Calls super.setEorCurrentUserIDForUser() to set the Resource UserID as current account, (even if null), or to set the current account to null if _b is false. Fires an event 'EnforceUID'.

Specified by:
setEnforceUID in interface ExecutableUbuntu
Parameters:
_b - true if the userID is always its userID whatever the caller userID (this is the setUID bit on *NX systems).
Throws:
UpDateError - if the EnforceUID property is immutable.

getEnforceUID

public final boolean getEnforceUID()
Specified by:
getEnforceUID in interface ExecutableUbuntu
Returns:
boolean true if the userID is always its userID whatever the caller userID. This is the setUID bit on Linux/Unix systems.

setEnforceGID

public void setEnforceGID(boolean _b)
                   throws UpDateError
Noop if the resource type contains 'byAcsCreator' or 'immutable'. Calls super.setEorCurrentGroupIDForUser() to set the Resource groupID as current group (even if null), or to set the current group to null if _b is false. Fires an event 'EnforceGID'.

Specified by:
setEnforceGID in interface ExecutableUbuntu
Parameters:
_b - true if the userID is always its userID whatever the caller userID. This is the setUID bit on Linux/Unix systems.
Throws:
UpDateError - if the EnforceGID property is immutable.

getEnforceGID

public final boolean getEnforceGID()
Specified by:
getEnforceGID in interface ExecutableUbuntu
Returns:
boolean true if the groupID is always its groupID whatever the caller groupID (this is the setGID bit on *NX systems).

setEorCurrentUserIDForUser

public void setEorCurrentUserIDForUser(ImmutableUserID _u)
                                throws UpDateError
Checks getEnforceUID() then calls the super method. When getEnforcedUID() is true, the current account is always its Resource account, so this method is not operating. To change the current account when enforceUID is true, sets enforceUID to false to nullify the current account, then updates the current account. Calls the super method which this method overrides.

Specified by:
setEorCurrentUserIDForUser in interface Actor
Overrides:
setEorCurrentUserIDForUser in class ActorUbuntuImpl
Parameters:
_u - the current userID of the actor. May be null.
Throws:
UpDateError - if getEnforceUID() is true.

setEorCurrentGroupIDForUser

public void setEorCurrentGroupIDForUser(ImmutableGroupID _g)
                                 throws UpDateError
Check getEnforceGID() then call the super method. When getEnforceGID() is true, the current group is always its Resource group, so this method is not operating. To change the current group when enforceGID is true, set enforceGID to false to nullify the current group, then update the current group.

Specified by:
setEorCurrentGroupIDForUser in interface Actor
Overrides:
setEorCurrentGroupIDForUser in class ActorUbuntuImpl
Parameters:
_g - the current groupID of the actor. May be null.
Throws:
UpDateError - if getEnforceGID() is true.

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String _propertyName,
                                      java.beans.PropertyChangeListener _l)
Adds a listener to the bean. Used by Gui1.CommonPropertyEditor for the properties: 'EnforceUID', 'EnforceGID', 'ExeType'. Overrides the super method and calls it.

Specified by:
addPropertyChangeListener in interface BaseBeanManager
Specified by:
addPropertyChangeListener in interface BoundBean
Overrides:
addPropertyChangeListener in class ActorUbuntuImpl
Parameters:
_propertyName - name of the property
_l - PropertyChangeListener to add. Caution: the listener must NOT have specific hashCode() and equals() methods, to work with HashSet in the removing operations.

removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String _propertyName,
                                         java.beans.PropertyChangeListener _l)
Removes a listener to the bean. Used by Gui1.CommonPropertyEditor for the properties: 'EnforceUID', 'EnforceGID', 'ExeType'. Note: using this method does not remove a listener which has been registered through addPropertyChangeListener(PropertyChangeListener _l). Overrides the super method and calls it.

Specified by:
removePropertyChangeListener in interface BaseBeanManager
Specified by:
removePropertyChangeListener in interface BoundBean
Overrides:
removePropertyChangeListener in class ActorUbuntuImpl
Parameters:
_propertyName - name of the property
_l - PropertyChangeListener to remove

getSerialVersionUID

public long getSerialVersionUID()
Description copied from class: BasicImpl
For the java serialization.

Specified by:
getSerialVersionUID in interface ImmutableBasic
Overrides:
getSerialVersionUID in class ActorUbuntuImpl
Returns:
the static serialVersionUID__ of this class

clone

public java.lang.Object clone()
Clones without register the new object in the ACSs. Caution: don't use any modifying method that may altere the integrity of the base.

Overrides:
clone in class ActorUbuntuImpl
Returns:
Object clone of the instance without registration in the base.
Throws:
java.lang.CloneNotSupportedException

equals

public boolean equals(java.lang.Object _obj)
Description copied from class: ActorUbuntuImpl
Does not compare the comment. Works even if the instance is finalized.

Specified by:
equals in interface BaseObject
Overrides:
equals in class ActorUbuntuImpl
Parameters:
_obj - to compare
Returns:
boolean: true if _obj is an instance of ExecutableImplImplUbuntu (or a derived class) equals to this instance

hashCode

public int hashCode()
Specified by:
hashCode in interface BaseObject
Overrides:
hashCode in class ActorImpl
Returns:
int the hashcode value for this object

toString

public java.lang.String toString()
Description copied from class: ResourceImpl
Gets the name last component of the instance. Used in the explorer to display the element. Never null.

Overrides:
toString in class ResourceImpl
Returns:
the name last component

getAddonInnerPropertiesToListen

public java.util.Map<java.lang.String,java.lang.String> getAddonInnerPropertiesToListen()
Gets the specific events to listen from an ACSObject, because these events should change the view rights of an ACSObject in an ACS Addon. This method is not ridden by the beamer. The events are 'OtherRights', 'EnforceUID', 'EnforceGID' without conditions. Then, these events are listened to update the views containing these ACSObjects. This method does not cover the parent properties of a Resource or a VirtualFolder (see ARoad0.gBase.AcsAddon.getAddonParentPropertiesToListen()). To define the events, the map key may have the following values:

- 'THIS' to say that the single object to listen is the ACSObject,

- 'ACS.method_name' to say that the list of objects to listen is returned by the method 'method_name' in the Addon ACS class.

For each map key, the values have the following format:

'AAA.method_name IF BBB'

where:

- AAA: THIS (mandatory),

- method_name: 'get' method name of the ACSObject that is associated, in the relevant BeanInfo class, to the event to listen (mandatory)

- IF BBB: where BBB is TRUE, or FALSE, or NULL, or NOT-NULL, to say that the event must be listened if and only if the returned value of the method_name is respectively a boolean TRUE, or FALSE, or an object NULL, or NOT-NULL (option).

When the map value starts with 'ACS', the ACS method to call has the ACSObject has one argument. Otherwise, the ACS or the ACSObject method has no argument. Called by ARoad0.gBase.EPRViewInBaseImpl, NoThanViewInBaseImpl and ARoad0.gWork.RightsMediatorImpl, through ARoad0.gBase.UtilityImpl.changeAddonInnerPropertyChangeListener(). Calls the super method first.

Specified by:
getAddonInnerPropertiesToListen in interface ACSObjectAddon
Overrides:
getAddonInnerPropertiesToListen in class ActorUbuntuImpl
Returns:
map to define the specific ACS Addon events to listen. May be null.
See Also:
AcsAddon.getAddonParentPropertiesToListen()

copyOwnVariables

protected ExecutableUbuntuImpl copyOwnVariables(ExecutableUbuntuImpl _result,
                                                boolean _withoutInternalAcl)
                                         throws CreateError
This method provides a copy of the instance variables. Called by copy() and by the copyOwnVariables() methods of the subclasses.

Parameters:
_result - to update with this instance variables copies
_withoutInternalAcl - true if the internal aclEntries - that is with a resource having the same ACS - must not be copied
Returns:
updated _result
Throws:
CreateError