ARoad0.gBaseInterface
Interface AcsAddon

All Known Implementing Classes:
ACSMySQLImpl, ACSUbuntuImpl

public interface AcsAddon

This interface is responsible for modeling an access control system (ACS) that is used in an ACS Addon package. It defines some methods to inform the PropertyChange listeners of the ViewInBase, what are the specific events to listen from in the direct and indirect parents of an ACSObject, and at what conditions. The listeners are gBase.ViewInBaseImpl and gWork.RightsMediatorImpl. If the ACSObject is a Resource or a VirtualFolder, the events to listen are from the indirect parents for the changings in some inherited rights. For instance, there is the event 'FromTheParentOther' in the AcsAddon Ubuntu for the class ResourceUbuntuImpl.


Method Summary
 java.util.Map<java.lang.String,java.lang.String> getAddonParentPropertiesToListen()
          Gets the specific events to listen on a Resource or a VirtualFolder, and its direct and indirect parents, because these events may change the rights of the Resource or VirtualFolder in an ACS Addon.
 

Method Detail

getAddonParentPropertiesToListen

java.util.Map<java.lang.String,java.lang.String> getAddonParentPropertiesToListen()
Gets the specific events to listen on a Resource or a VirtualFolder, and its direct and indirect parents, because these events may change the rights of the Resource or VirtualFolder in an ACS Addon. Thhese events are listened to update the views containing these ACSObjects. This method covers only the parent properties of a Resource or a VirtualFolder (see ARoad0.gBaseInterface.ACSObjectAddon.getAddonInnerPropertiesToListen() for the other cases). To define the events, the map key may have the following values:

- 'THIS' to say that the single basic object is the Resource or VirtualFolder,

- 'ACS.method_name' to say that the list of Resources (or VirtualFolders) 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: PARENT (mandatory),

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

- IF BBB: is optional, 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.

When the map key starts with 'ACS', the ACS method to call has no argument. When the map value starts with 'PARENT', the parent method to call has no argument. Called by ARoad0.gBase.BaseUtilityImpl.add/removeAddonInner/ParentPropertyChangeListener(). For instance, 'PARENT.getAGOAccessFromTheParentOther IF FALSE' is the value the ACS Addon Ubuntu ACS returns for the key ACS.getEorL_FromOtherInCurrentContextActors, to define the listening of the 'FromTheParentOther' event on all the indirect parents of a ResourceUbuntu in a view.

Returns:
map to define the specific ACS Addon events to listen. May be null.