|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectARoad0.gBase.ACSImpl
public class ACSImpl
This class is responsible for modeling an Access Control System (ACS) which is the main unit of modelization for software. It registers its internal and external resources, its internal and external eligible parties (accounts, groups, actors), its internal and external virtual folders, its AclEntries, its Privileges and its ACS bridges. It also registers the other ACS which control this ACS. It cuts or restores in its objects, the external references to other ACS when it is closed or open. After ACSFactoryImpl, this is the most complex class of the gBase package.
The ACS is created by ACSFactoryImpl.createACS(), which set the booleans and string parameters for the new ACS. They cannot be changed after the ACS creation. They define the ACS general structure and behavior. At the ACS creation, the compliance to varied integrity rules is verified.
It is a javabean with the following bound properties: 'ExternalOrientedPrivilege', 'Controlled', 'ExternalOriented', 'OneController', 'M_OwnResources', 'OneExternalResource', 'OneResource' (when one resource is created or deleted), 'OneEligibleParty', 'OneBaseObject' for a Resource, VirtualFolder or EligibleParty, 'AclEntry', 'M_OwnEligibleParties', 'OneExternalEligibleParty', 'OwnResourcesRootName', 'OwnGroupsRootName', 'OwnResourceFoldersRootName', 'OwnEPFoldersRootName', 'BridgeSources', 'BridgeTargets', 'Comment', 'OneAcsRight', 'OneNoRightProxyActor', 'Privileges', 'TiedChildACSs', 'RootsForChildACS', 'OneTypedPrivilege', 'OneLinkedPrivilege', 'OneResourceVirtualFolder', 'OneEPVirtualFolder', 'IncompleteStructureModeling'.
The ACSImpl class is a tricky case for the thread management. There is very few direct accesses to ACS instances in the access paths search algorithms. This is recommanded to do so in the AcsAddons. For the rare ACS methods that are used or should be used by a view, the method documentation includes the comment 'may be called from a view worker thread'. These methods are fast, as far as possible. Furthermore, all the ACS new/remove methods on the classes implementing Resource, EligibleParty, VirtualFolder, AclEntry or Privilege are synchronized.
The listeners are proper to one ACSImpl instance, outside gBase, transient (not serialized), and they are called in any order, excepted for:
1/ The sequence for a Resource change is : ExternalOrientedAclEntry, ExternalOriented, M_OwnResources (or External), OneResource, OneBaseObject. It is very similar for an EligibleParty change and a VirtualFolder change.
2/ For Actors, 'OneResource' is always fired when 'OneEligibleParty' is fired, and it is fired before this event for a resource creation, and after this first event for a resource deletion. 'OneBaseObject' is fired when the operation is completed, and it is fired always just after 'OneEligibleParty' if it is an actor creation, and always just after 'OneResource' if it is an actor deletion.
Excepting for 'OneResource', 'OneEligibleParty', 'OneBaseObject', 'AclEntry', 'OneTypedPrivilege', 'OneLinkedPrivilege', 'OneVirtualFolder', the listeners 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.
This class has several subclasses in the AcsAddon packages. Most of the variables are protected.
BaseManagerImpl
,
Serialized FormField Summary | |
---|---|
protected java.lang.String |
aCSType_
Defines the ACS type, which may be GENERIC, LINUX, WINDOWS, LDAP... |
protected BaseError |
baseError_
BaseError for this acs |
protected java.util.Set<java.lang.String> |
categoriesInSpecializedRights_
The possible specialized right types are 'AccRightsSet', 'GpORightsSet', 'AclRightsSet', 'PrvRightsSet', 'BdgRightsSet'. |
protected java.beans.PropertyChangeSupport |
changeSupport_
manage all the property change listeners |
protected java.lang.String |
comment_
|
protected boolean |
containsBridgeSource_
if true, contains at most one actor which is a bridge source for another-ACS actor. |
protected boolean |
containsBridgeTarget_
if true, contains at most one actor which is a bridge target for another-ACS actor. |
protected boolean |
containsRootActions_
if true, contains some root actions and then, some ACS roots in other ACS. |
protected boolean |
controlled_
True if this ACS has open controllers. |
protected java.lang.String |
editor_
|
static ACSImpl |
EMPTY_INSTANCE
A reusable empty instance for initialization, to avoid the use of 'new' for temporary values. |
protected boolean |
externalOriented_
if true, is a controller for other open ACS - that is the ACS has some open external AclEntries or Privileges. |
static java.lang.String |
GENERIC
|
protected boolean |
haveSpecializedRights_
true if some specialized rights have been set |
protected javax.swing.ImageIcon |
icon_
The icon of the aCS in the beamer - selected at the creation or the GUI uses the default value. |
protected java.lang.String |
iconName_
|
protected static int |
INCREMENT_CAPACITY
|
protected static int |
INITIAL_CAPACITY_25
|
protected static int |
INITIAL_CAPACITY_5
|
protected boolean |
is_hub_
|
protected ImmutableName |
iSname_
Name of the IS which owns this ACS |
protected ImmutableAclEntry[] |
l_AclEntry_
All the open aclentries of this ACS |
protected java.util.List<ImmutableActor> |
l_ActorBridgeSources_
List of own Actors which are bridge sources for external actors. |
protected java.util.List<ImmutableActor> |
l_ActorBridgeTargets_
List of own Actors which are bridge targets for external actors. |
protected java.util.Set<ImmutableAclEntry> |
l_ClosedAclEntries_
Set of only closed external aclEntries, that is those which have their ACS that is currently closed. |
protected java.util.Set<ImmutableName> |
l_ClosedAclEntriesACSNames_
Set of the ACS names of both controlled ACS and referenced ACS that control this ACS, which are in the closed acl entries |
protected java.util.Set<PrivilegeForLinks> |
l_ClosedPrivileges_
Set of only closed external privileges, that is those which have their ACS that is currently closed. |
protected java.util.Set<ImmutableName> |
l_ClosedPrivilegesACSNames_
Set of the ACS names of both controlled ACS and referenced ACS that control this ACS, which are in the closed privileges |
protected java.util.List<java.lang.String> |
l_ImmutableRules_
List of the ACS rules which are derivated from the structure, like 'AGO right: A rights overlay G rights'. |
protected java.util.List<ImmutableActor> |
l_NoRightProxyActors_
List of own Actors which are not right proxies, then which are secure and without any trojan able to deliver hidden rights to the right users executing these actors. |
protected ImmutableName[] |
l_OpenAcsControllerNames_
the open controllers of this acs |
protected Privilege[] |
l_Privilege_
Array of all the ACS privileges |
protected StringRight[] |
l_Rights_
all the (ACS or meta) rights managed in this acs |
protected java.util.List<ImmutableName> |
l_RootNamesForAcsIntegrity_
The list of the ACSObject roots of this ACS in an opened parent ACS, where each root in the parent ACS has some property updatings which may weaken the integrity of this ACS. |
protected java.util.List<ImmutableName> |
l_RootNamesForAcsOpeningNoClosing_
The list of the ACSObject roots of this ACS in an opened parent ACS, where each root remains in the parent ACS at the closing of this ACS. |
protected java.util.List<ImmutableName> |
l_RootNamesForAcsOpeningWithClosing_
The list of the ACSObject roots of this ACS in an opened parent ACS, where each root has to be in the parent ACS at the opening of this ACS, and it is deleted at the closing of the ACS. |
protected java.util.ArrayList<ImmutableName> |
l_TiedChildACSs_
A child tied ACS has to be opened when this instance is opened. |
protected VirtualFolder[] |
l_VirtualFolders_
Array of all the ACS virtual folders |
static java.lang.String |
LINUX
|
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_AcsVocabulary_
The ACS vocabulary defines several independant domains: - How to name the L_ACS_TREE_GENERIC_UPPER_NODES constants for this ACS, as names of the ACS tree nodes in the proper ACS internal frame. |
protected java.util.Map<ImmutableName,ImmutableActor> |
m_ActorBridgeTargets_
Map (ImmutableName, Actor) of own Actors which are bridge targets for external actor sources. |
protected java.util.HashMap<java.lang.String,ImmutableName> |
m_BelongsToComposite_
Immutable map which says if the ACS or a subACS belongs to a Composite ACS in the IS Name Tree. |
protected java.util.SortedMap<ImmutableName,java.util.ArrayList<ImmutableName>> |
m_closedSourcesOfActorBridgeTargets_
Map of the closed external Actor names which are sources of own actor bridge targets. |
protected java.util.SortedMap<ImmutableName,ImmutableName> |
m_closedTargetsOfActorBridgeSources_
Map of the closed external Actor names which are targets of own actor bridge sources. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_CommentsOnProperties_
Map of the comments on each ACS property, to explain the simulation. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_ConstraintsForNewObjects_
Map of mandatory associations on the ACS new objects. |
protected java.util.SortedMap<ImmutableName,ImmutableEligibleParty> |
m_EligibleParties_
Map of all the eligible parties of this ACS |
protected java.util.SortedMap<ImmutableName,ImmutableResource> |
m_Resources_
Map of all the resources of this ACS |
protected java.util.SortedMap<java.lang.String,StringRight[]> |
m_RightsOfInternalKey_
Gets the ACS rights and the metarights this ACS handles and for a given internal key value of the associated metaright. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootCommandsForAcsIntegrity_
Get for a child ACS, the list of the ACSObject roots in the parent ACS which have a root relation with this child ACS. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootCommandsForAcsOpeningAndClosing_
For a child ACS, the list of the ACSObject roots in the parent ACS which have a root relation with this child ACS. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootCommandsForAcsOpeningNoClosing_
For a child ACS, the list of the ACSObject roots in the parent ACS which have a root relation with this child ACS. |
protected java.util.Map<java.lang.String,ImmutableName[]> |
m_RootsForChildACS_
The map of the ACSObject roots which have with an opened or closed child ACS, a relation among those set by ACSFactoryUtilityImpl.getKeysForConstrainedChildACSMap(). |
protected java.util.HashMap<java.lang.String,StringRight[]> |
m_SpecializedRights_
To extend or to reduce the allowed AGO, ACL, PRI rights following the target/source interface or type |
protected java.util.HashMap<java.lang.String,StringRight[]> |
m_StandardRights_
Map of restrictions on the ACS Right properties |
protected java.util.SortedMap<java.lang.String,java.lang.Boolean> |
m_Structure_
The active booleans which define the ACS structure and features. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_SubAndGroupPolicy_
Gets the subACS names and their mode (for Resources or for GroupIDs) and the root names for groups trees, as nodes to display in the explorer. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_TypeOrientedPolicy_
Map of restrictions on the ACS GroupID/Node policy |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_TypesAndGUIPolicy_
Map of restrictions on the ACS types and the GUI creation/display policy |
protected static int |
MAX_FOR_TYPED_PRIVILEGES_NUMBER
|
protected ImmutableName |
name_
Name of the acs, which starts with the IS name |
protected ImmutableName |
ownEPFoldersRootName_
|
protected ImmutableName |
ownGroupsRootName_
|
protected ImmutableName |
ownResourceFoldersRootName_
|
protected ImmutableName |
ownResourcesRootName_
|
protected ImmutableName |
parentName_
Name of the parent acs in the IS nametree. |
protected static int |
PRIME
|
static java.io.ObjectStreamField[] |
serialPersistentFields
variable for the JDK 2 serialization |
protected static long |
serialVersionUID__
|
protected java.lang.String |
visibleSpace_
|
Constructor Summary | |
---|---|
ACSImpl()
Default constructor used by valueOf() and the subclasses |
Method Summary | |
---|---|
protected void |
addAcsController(ImmutableName _ACSname)
Called by addResource() and addVirtualFolder(). |
protected void |
addEligibleParty(ImmutableEligibleParty _ep)
Registers a new own or an external eligible party in the ACS, without type control. |
protected void |
addInParentACS(java.util.List<ImmutableName> _l_roots)
Adds the root properties to the parent ACS, and to the roots themself in the parent ACS. |
protected void |
addNoRightProxyActor(ImmutableActor _act)
Adds an own Actor which is not right proxy, then which is supposed to be secure and without any virus able to deliver rights to the rights users which execute these actors. |
protected void |
addOwnActorBridgeSource(ImmutableActor _actor)
Sets an own actor as a bridge source for an external actor. |
protected void |
addOwnActorBridgeTarget(ImmutableActor _source,
ImmutableActor _target)
Sets an own actor as a bridge target for an external actor. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener _l)
Add a listener to the bean, for all the bound properties. |
void |
addPropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _l)
Adds a listener to the bean. |
protected void |
addResource(ImmutableResource _res)
Registers a new own or a controlled resource without type control, and fires the bound properties 'M_OwnResources' or 'OneExternalResource', 'OneResource' and 'OneBaseObject' only if it is not an Actor. |
void |
addRight(StringRight _right)
UNUSED METHOD, to implement ACSRun. |
protected void |
addRootForChildACS(ImmutableName _child,
ACSObject _root)
Adds an ACSObject which has at least one relation with any opened child ACS, among the possible relations <ForChildAcsOpeningAndClosing>, <ForChildAcsOpeningNoClosing> and <ForChildAcsIntegrity>. |
protected void |
addVirtualFolder(VirtualFolder _fold)
Registers a new virtual folder in this ACS. |
protected void |
checkClosedAcsRights()
Checks if there are ACS rights to register in their respective metarights. |
protected void |
checkClosedBridges(ACS _acs)
Checks if there are bridge targets to create when the instance or the argument is an opening ACS. |
protected void |
checkClosedExternalAclEntries(ACS _acs)
Opens any closed external AclEntry that has both its resource, its eligible party, the first condition group and the associated ACS(s) which are currently open. |
protected void |
checkClosedExternalLinkedPrivileges(ACS _acs)
Opens any closed external linked one-to-one Privileges that has both its target, its eligible party and the associated ACS(s) which are currently open. |
protected void |
closeAcsRights()
For the ACS rights, unregisters them in their metarights. |
protected void |
closeBridges(ACS _acs)
Checks if there are own actor bridge sources or bridge targets for a given ACS. |
protected void |
closeExternalAclEntries(ACS _acs)
Closes all the inner AclEntries relevant to an another ACS, to avoid any failed external references at the closing of one of theses ACS. |
protected void |
closeExternalLinkedPrivileges(ACS _acs)
Closes all the inner linked privileges relevant to an another ACS, to avoid any failed external references at the closing of one of these ACS. |
protected void |
closeVirtualFolders()
Sets the VirtualFolder internal properties, before any ACS deserialization. |
boolean |
containsAclEntry(ImmutableAclEntry _acl)
Test if an AclEntry is known. |
boolean |
containsEligiblePartyName(ImmutableName _name)
Test if the eligible party is opened, and owned by the ACS or external to the ACS and connected to it through an ACS aclEntry. |
boolean |
containsOwnEligiblePartyName(ImmutableName _name)
True if the ACS owns this EP. |
boolean |
containsOwnResourceName(ImmutableName _name)
Synchronized on the resources map. |
boolean |
containsOwnVirtualFolderName(ImmutableName _name)
Tests if the ACS owns the virtual folder. |
boolean |
containsPrivilegeName(ImmutableName _name)
Tests if a privilege is known. |
boolean |
containsResourceName(ImmutableName _name)
Test if the resource is opened, and owned or controlled by the ACS. |
boolean |
containsVirtualFolderName(ImmutableName _name)
Tests if a virtual folder is known. |
protected short |
controlEPandResourceTypes(java.lang.String _epType,
java.lang.String _resourceType)
Currently unused, this method allows to control the EP and/or resource types. |
static ACSImpl |
copy(ImmutableName _iSname,
ImmutableName _parentName,
ImmutableName _name,
boolean _is_hub,
java.lang.String _visibleSpace,
ACSImpl _acs,
boolean _toRegisterInManager)
NO USE. |
boolean |
equals(java.lang.Object _obj)
|
protected void |
fillNoRightProxyActors()
Fills the ACS internal property list, after an ACS deserialization. |
protected void |
fillRightsOfInternalKey()
Sets the ACS rights and the metarights this ACS handles and for a given internal key value of the associated metaright. |
protected void |
fillVirtualFolders()
Sets the VirtualFolder internal properties, after any ACS deserialization. |
protected void |
finalize()
This method removes the object from the application space, but there is no guaranee that the JVM calls this method before the end of the application. |
protected void |
finalizeForBase()
Closes the ACS. |
protected void |
firePropertyChange(java.lang.String _propertyName,
java.lang.Object _oldValue,
java.lang.Object _newValue)
Fires an event to every registered listener, in any order. |
java.lang.String |
getACSType()
Returns the ACS type, as ACSImpl.GENERIC, LINUX, or defined by the user, and it is completed by the ACS policy checksum. |
java.util.Set<java.lang.String> |
getCategoriesInSpecializedRights()
The possible specialized right categories are 'AccRightsSet', 'GpORightsSet', 'AclRightsSet', 'PrvRightsSet', 'BdgRightsSet', 'RooRightsSet'. |
java.lang.String |
getComment()
|
boolean |
getContainsBridgeSource()
Gets the presence of actors which are bridge sources. |
boolean |
getContainsBridgeTarget()
Gets the presence of actors which are bridge targets. |
boolean |
getContainsRootActions()
Called by BeamerManager.getNotDisplayThisProperty(). |
java.lang.String |
getEditorAndAddonNames()
The form is 'Editor: full_editor_name - AcsAddon: addon_name'. |
boolean |
getEmbeddedInParentACS()
Deprecated. |
BaseError |
getEorBaseError()
|
javax.swing.ImageIcon |
getEorIcon()
|
ImmutableAclEntry[] |
getEorL_AclEntries()
Get the internal and external AclEntries managed by this ACS. |
java.util.List<VirtualFolder> |
getEorL_EPVirtualFolders()
Gets the virtual folders managed by this ACS and which contain only eligible parties. |
ImmutableAclEntry[] |
getEorL_ExternalAclEntries()
Get the external AclEntries managed by this ACS. |
VirtualFolder[] |
getEorL_ExternalVirtualFolders()
Copy of the external virtual folders in a new array. |
java.util.List<ImmutableActor> |
getEorL_NoRightProxyActors()
List of own Actors which are not right proxies, then which are supposed to be secure and without any virus able to deliver rights to the rights users which execute these actors. |
java.util.List<ImmutableActor> |
getEorL_OwnActorBridgeSources()
Gets all the own actors which are bridge sources for external actors. |
java.util.List<ImmutableActor> |
getEorL_OwnActorBridgeTargets()
Gets all the own actors which are bridge targets for external actors. |
java.util.List<Privilege> |
getEorL_PrivilegeForLinks()
Gets all the PrivilegeForLinks of the ACS, not the PrivilegeForTypes. |
java.util.List<Privilege> |
getEorL_PrivilegeForTypes()
Gets all the PrivilegeForTypes of the ACS. |
java.util.List<Privilege> |
getEorL_PrivilegeForTypesForSource(java.lang.String _type)
Gets all the PrivilegeForTypes which have the right source type. |
java.util.List<Privilege> |
getEorL_PrivilegeForTypesForTarget(java.lang.String _type)
Gets all the PrivilegeForTypes which have the right target type. |
Privilege[] |
getEorL_Privileges()
Gets the privileges managed by this ACS. |
java.util.List<VirtualFolder> |
getEorL_ResourceVirtualFolders()
Gets the virtual folders managed by this ACS and which contain only resources. |
VirtualFolder[] |
getEorL_VirtualFolders()
Gets the virtual folders managed by this ACS. |
java.util.SortedMap<ImmutableName,ImmutableActor> |
getEorM_Actors()
Copy of all the actors in a new map. |
java.util.SortedMap<ImmutableName,ImmutableEligibleParty> |
getEorM_EligibleParties()
The eligible parties are own or external ones. |
java.util.SortedMap<ImmutableName,ImmutableEligibleParty> |
getEorM_ExternalEligibleParties()
Copy of the external eligible parties in a new map. |
java.util.SortedMap<ImmutableName,ImmutableResource> |
getEorM_ExternalResources()
Copy of the external resources in a new map. |
java.util.SortedMap<ImmutableName,ImmutableActor> |
getEorM_OwnActors()
Copy of the own actors in a new map. |
java.util.SortedMap<ImmutableName,ImmutableEligibleParty> |
getEorM_OwnEligibleParties()
Copy of the own eligible parties in a new map. |
java.util.SortedMap<ImmutableName,ImmutableResource> |
getEorM_OwnNoParentResources()
Copy of the own no-parent resources in a new map. |
java.util.SortedMap<ImmutableName,ImmutableResource> |
getEorM_OwnResources()
Copy of the own resources in a new map. |
java.util.SortedMap<ImmutableName,ImmutableResource> |
getEorM_Resources()
The resources are own or external ones. |
StringRight |
getFirstRightFromMeta(java.lang.String _metaRight)
Gets the first right which is registered by this ACS with the correct metaright. |
StringRight |
getFullControlRight()
Gets the first acsright which has 'full_control' as metaright, or this metaright if no acsright complies this condition. |
ImmutableName |
getFullName()
The full name is unique for the Access Road program. |
boolean |
getHaveSpecializedRights()
Called by BeamerManager.getNotDisplayThisProperty(). |
boolean |
getHubProperty()
Gets the hub property for the ACS node in the IS nametree. |
java.lang.String |
getIconName()
|
boolean |
getIncompleteBehaviorModeling()
The modeling of the behavior is incomplete when important constraints on ACSObjects are not modelled, for instance to set their allowed rights, or their effective default rights. |
boolean |
getIncompleteStructureModeling()
The modeling of the structure is incomplete when some ACSObjects miss while they participate to the decision for some important access controls, or simply when these missed ACSObjects are important for the overall ACS security, or when their important relations with some other ACSObjects are not set. |
boolean |
getIsAuthorizationServer()
May be called from a view worker thread. |
boolean |
getIsControlled()
True if an other open ACS controls this ACS, that is has an external AclEntry or Linked Privilege for a resource or a virtual folder from this ACS. |
boolean |
getIsExternalOriented()
|
boolean |
getIsFromAcsAddon()
To detect an AcsAddon, this method tests (ACS.getClass().toString().indexOf("ARoad0.AcsAddon.") ! |
ImmutableName |
getISName()
Get the name of the information system which owns this acs. |
ImmutableName[] |
getL_AcsControllers()
Gets all the open ACS that have an external AclEntry or an external Linked Privilege for a resource or a virtual folder from this ACS. |
static java.util.List<java.lang.String> |
getL_AcsTypes()
Get the standard ACS types, but not those created by the user. |
protected java.util.Set<ImmutableAclEntry> |
getL_ClosedAclEntries()
Called by equals(), finalizeForBase(). |
protected java.util.Set<ImmutableName> |
getL_ClosedAclEntriesACSNames()
Gets all the closed ACS names if this ACS is a controller of external resource(s) or eligible, through its aclEntries, or if this ACS is controlled by other ACS. |
protected java.util.Set<ImmutableName> |
getL_ClosedACSBridgeSources()
Gets the own bridge sources which are not activated because their targets belong to a closed ACS. |
protected java.util.Set<PrivilegeForLinks> |
getL_ClosedPrivileges()
Called by BaseManagerImpl and another opening ACS for identifying its resources that are controlled in Privileges by this ACS. |
protected java.util.Set<ImmutableName> |
getL_ClosedPrivilegesACSNames()
Gets all the closed ACS names if this ACS is a controller of external resource(s) or eligible, through its Privileges, or if this ACS is controlled by other ACS. |
java.util.List<java.lang.String> |
getL_ImmutableRules()
Get the structural rules which are derived from the ACS structure and which define the processing of objects and rights in this ACS. |
StringRight[] |
getL_Rights()
Gets all the rights which are allowed in this ACS. |
java.util.List<ImmutableName> |
getL_RootsForClosing()
Gets the list of the ACSObject roots of this ACS in an opened parent ACS, where each root has to be deleted in the parent ACS at the closing of this ACS. |
java.util.List<ImmutableName> |
getL_RootsForIntegrity()
Get the list of the ACSObject roots of this ACS in an opened parent ACS, where each root in the parent ACS has some property updatings which may weaken the integrity of this ACS. |
java.util.List<ImmutableName> |
getL_RootsForOpening()
Gets the list of the ACSObject roots of this ACS in an opened parent ACS, where each root has to be in the parent ACS at the opening of this ACS to ensure its working. |
StringRight[] |
getL_SelectedRights(java.lang.String _r1,
java.lang.String _r2,
java.lang.String _r3,
java.lang.String _r4,
java.lang.String _r5)
Gets the ACS or meta rights having one of the arguments as nick name, and used by the ACS. |
java.util.List<ImmutableName> |
getL_TiedChildACS()
A tied child ACS has to be opened when this instance is opened. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_AcsVocabulary()
Gets the ACS vocabulary. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_AssociationsOnNewObject()
Get the associations to handle at the creation or the deletion of some ACSObjects, by the mean of actions to do by the program. |
java.util.Map<java.lang.String,ImmutableName> |
getM_BelongsToComposite()
Gets the map which says if the ACS or a subACS belongs to a Composite ACS in the IS Name Tree. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_CommentsOnProperties()
Gets comments to explain how this ACS simulates a real system/software. |
java.util.Map<java.lang.String,ImmutableName[]> |
getM_InnerRootsForChildACS()
For a parent ACS, gets the list of the inner ACSObjects having with an opened child ACS, a relation among <ForChildAcsOpeningAndClosing>, <ForChildAcsOpeningNoClosing> and <ForChildAcsIntegrity>. |
java.util.SortedMap<java.lang.String,StringRight[]> |
getM_RightsOfInternalKey()
Gets the ACS rights and the metarights this ACS handles and for a given internal key value of the associated metaright. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForIntegrity()
Gets for a child ACS, the list of associations to roots in its parent ACSs for integrity. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForOpeningAndClosing()
Gets for a child ACS, the list of associations to roots in its parent ACSs for running. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForOpeningNoClosing()
Gets for a child ACS, the list of associations to roots in its parent ACSs for running. |
java.util.Map<java.lang.String,StringRight[]> |
getM_SpecializedRights()
Gets the specialized rights extending or constraining the allowed values which are defined for each right type set in getM_StandardRights(). |
java.util.Map<java.lang.String,StringRight[]> |
getM_StandardRights()
This map is initialized at the ACS creation to set the standard values for the ACSObject Right properties (for example, the Linux rights), but only when there is no applicable specialized rights. |
java.util.SortedMap<java.lang.String,java.lang.Boolean> |
getM_Structure()
Gets the structure of this ACS. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_SubAndGroupPolicy()
Gets the subACS names and their mode (for Resources or for GroupIDs) and the root names for groups trees, as nodes to display in the explorer. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_TypeOrientedPolicy()
Gets the ACS constraints on the allowed or forbidden ACSObject types to set the GroupID, Node, Resource, AclEntry and Privilege policies. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_TypesAndGUIPolicy()
Get the String values which define the allowed ACSObject types. |
boolean |
getManageAccounts()
May be called from a view worker thread. |
boolean |
getManageACLRightsInheritance()
May be called from a view worker thread. |
boolean |
getManageAcsRights()
May be called from a view worker thread. |
boolean |
getManageActorInEPVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageActors()
May be called from a view worker thread. |
boolean |
getManageAGORights()
May be called from a view worker thread. |
boolean |
getManageAGORightsInheritance()
May be called from a view worker thread. |
boolean |
getManageAuthorizationServerTypedPrivileges()
May be called from a view worker thread. |
boolean |
getManageBridges()
May be called from a view worker thread. |
boolean |
getManageClassedSpecificTypedPrivileges()
May be called from a view worker thread. |
boolean |
getManageClassedTypedPrivileges()
May be called from a view worker thread. |
boolean |
getManageDenyingRightPrivileges()
May be called from a view worker thread. |
boolean |
getManageDenyRights()
May be called from a view worker thread. |
boolean |
getManageDirectoryEPinEPVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageDirectoryEPs()
May be called from a view worker thread. |
boolean |
getManageDirectoryInResourceVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageEPVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageExternalAcls()
May be called from a view worker thread. |
boolean |
getManageExternalForOneToOneLinkedPrivileges()
May be true if the privileges are managed but all the other privilege features are not managed, to allow an own component (source or target) in the privilege of another ACS. |
boolean |
getManageFlexibleConditionalAcls()
The ACS cannot manage this property and the right-defined conditional ACLs. |
boolean |
getManageGrantingRightPrivileges()
May be called from a view worker thread. |
boolean |
getManageGrantRights()
May be called from a view worker thread. |
boolean |
getManageGroups()
May be called from a view worker thread. |
boolean |
getManageGroupTrees()
May be called from a view worker thread. |
boolean |
getManageIfAllSourceLinkedPrivileges()
May be called from a view worker thread. |
boolean |
getManageInternalAcls()
May be called from a view worker thread. |
boolean |
getManageInternalForOneToOneLinkedPrivileges()
May be called from a view worker thread. |
boolean |
getManageInternalHardAlias()
|
boolean |
getManageLPRIRightsInheritance()
May be called from a view worker thread. |
boolean |
getManageMetaRights()
May be called from a view worker thread. |
boolean |
getManageOneTimeInVirtualFolderTreeForMember()
|
boolean |
getManagePrivilegeRights()
May be called from a view worker thread. |
boolean |
getManagePrivilegesInResources()
Caution: if getManageExternalForOneToOneLinkedPrivileges() returns true, the privilege of another ACS may always have as target a Resource of this ACS. |
boolean |
getManagePrivilegesInVirtualFolders()
Caution: if getManageExternalForOneToOneLinkedPrivileges() returns true, the privilege of another ACS may always have as target a VirtualFloder of this ACS. |
boolean |
getManageResources()
May be called from a view worker thread. |
boolean |
getManageResourceTrees()
May be called from a view worker thread. |
boolean |
getManageResourceVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageRightDefinedConditionalAcls()
The ACS cannot manage this property and the flexible conditional ACLs. |
boolean |
getManageSecGroupsForActor()
May be called from a view worker thread. |
boolean |
getManageSimpleLinkedPrivileges()
May be called from a view worker thread. |
boolean |
getManageSimpleResourceVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageSimpleTypedPrivileges()
May be called from a view worker thread. |
boolean |
getManageSoftAlias()
Only an AcsAddon can manage the soft aliasing. |
boolean |
getManageVirtualFolderRightsPropagationToMembers()
|
boolean |
getManageVirtualFolders()
May be called from a view worker thread. |
boolean |
getManageVirtualFolderTrees()
May be called from a view worker thread. |
ImmutableName |
getName()
Get the BaseObject name. |
java.lang.String |
getNickName()
This short name is NOT always unique for the Access Road program. |
int |
getNumberOfEPs()
Gets the number of own eligible parties in the ACS, without the external objects. |
int |
getNumberOfResources()
Gets the number of own resources in the ACS, without the external objects. |
AclEntry |
getOneAclEntryFromDetailledName(java.lang.String _detailledName)
Gets an AclEntry managed by this ACS from its detailled name. |
Privilege |
getOnePrivilegeFromDetailledName(java.lang.String _detailledName)
Gets a privilege managed by this ACS from its detailled name. |
StringRight |
getOneRight(ImmutableName _name)
Gets a right which is registered by this ACS. |
StringRight |
getOneRight(java.lang.String _right)
Gets a right which is registered by this ACS. |
VirtualFolder |
getOneVirtualFolder(ImmutableName _name)
Gets a virtual folder managed by this ACS. |
ImmutableName |
getOwnEPFoldersRootName()
The current root is the first non-finalized virtual folder for eligible parties, without parent which has been created. |
ImmutableName |
getOwnGroupsRootName()
The current root is the first non-finalized group without parent which has been created. |
ImmutableName |
getOwnResourceFoldersRootName()
The current root is the first non-finalized virtual folder for resources without parent which has been created. |
ImmutableName |
getOwnResourcesRootName()
The current root is the single directory without parent, if any. |
ImmutableName |
getParentName()
Gets the mandatory parent name for the ACS in the IS nametree. |
ACSObject |
getReferenceOfSoftAlias(ACSObject _alias)
Gets the reference in this ACS for an external or internal soft alias, by the way of a specific algorithm. |
boolean |
getRunningOnParentACS()
Deprecated. |
long |
getSerialVersionUID()
|
boolean |
getTiedToParentACS()
Gets the IS nametree property. |
java.lang.String |
getVisibleSpace()
Gets the visible space for the ACS in the IS nametree. |
protected void |
handleAssociationsForInnerObject(ACSObject _obj,
boolean _creating)
Noop. |
protected void |
handleAssociationsForRootsOfChildACS(ACSObject _root,
boolean _opening)
Noop. |
int |
hashCode()
|
protected void |
initializeAcsRelationsInIS(java.util.HashMap<java.lang.String,ImmutableName> _m_isComposite,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsOpeningAndClosing,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsOpeningNoClosing,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsIntegrity,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_SubAndGroupPolicy)
Sets the maps and lists describing the relations of this new ACS in the IS Name Tree. |
boolean |
isPropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _listener)
Tests a listener and returns true if it is registered for the listening of a given bound property. |
protected void |
newEorAclEntry(ImmutableAclEntry _acl)
Method called by Resource.addAclEntry() before the updating of Resource.getL_aclEntry() and, indirectly, also called by checkClosedAclEntries(). |
protected void |
newEorEligibleParty(ImmutableEligibleParty _ep)
Registers a new own eligible party in the ACS and controls that the eligible party type is allowed. |
protected void |
newEorPrivilege(Privilege _priv)
Registers a new privilege in this ACS. |
protected void |
newEorResource(ImmutableResource _res)
Registers a new own resource with a type control. |
protected void |
newEorVirtualFolder(VirtualFolder _fold)
Registers a new virtual folder in this ACS. |
protected void |
removeAcsController(ImmutableName _ACSname)
This method is called by removeEorResource() and removeEorVirtualFolder(). |
protected void |
removeEorAclEntry(ImmutableAclEntry _acl)
Removes the AclEntry in the internal properties. |
protected void |
removeEorEligibleParty(ImmutableEligibleParty _ep)
Removes the own and the external EligibleParty. |
protected void |
removeEorPrivilege(Privilege _priv)
Removes the Privilege in the internal properties. |
protected void |
removeEorResource(ImmutableResource _res)
Unregisters the own and the external resources. |
protected void |
removeEorVirtualFolder(VirtualFolder _fold)
Unregisters a virtual folder in this ACS. |
protected void |
removeNoRightProxyActor(ImmutableActor _act)
Removes an own Actor which is not right proxy, then which is supposed to be secure and without any virus able to deliver rights to the rights users which execute these actors. |
protected void |
removeOwnActorBridgeSource(ImmutableActor _actor)
Removes an own actor which is a bridge source for an external actor. |
protected void |
removeOwnActorBridgeTarget(ImmutableActor _target)
Removes an own actor as bridge targets for one or several external actor sources. |
protected void |
removeOwnActorBridgeTargetFromSource(ImmutableActor _source,
BaseObject _caller)
Removes an own actor as a bridge target for an external actor source. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener _l)
Remove a listener to the bean. |
void |
removePropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _l)
Remove a listener to the bean. |
void |
removeRight(StringRight _right)
UNUSED METHOD, to implement ACSRun. |
protected void |
removeRootForChildACS(ImmutableName _child,
ACSObject _root)
Removes an ACSObject which has no more relations with any opened child ACS, among the possible relations <ForChildAcsOpeningAndClosing>, <ForChildAcsOpeningNoClosing> and <ForChildAcsIntegrity>. |
protected void |
setAcsRelationsInIS(boolean _atCreation,
boolean _atImport)
Sets the maps and lists describing the relations of this ACS in the IS Name Tree. |
void |
setComment(java.lang.String _s)
Set any comment related to this acs. |
protected void |
setEorIcon(java.lang.String _iconName)
Used only by ACSFactoryImpl or a subclass. |
protected void |
setExternalOriented()
The ACS is external oriented when it has at least one external AclEntry or one external Privilege, and thus at least one external resource, virtual folder or eligible party. |
void |
setIncompleteStructureModeling(boolean _b)
Fires the event 'IncompleteStructureModeling'. |
void |
setL_TiedChildACS(java.util.List<ImmutableName> _l_names)
A tied child ACS has to be opened when this instance is opened. |
protected void |
setOwnEPFoldersRootName(ImmutableName _name)
Sets name of the root for the ACS own eligible party virtual folders. |
protected void |
setOwnGroupsRootName(ImmutableName _name)
Set the name of the root for the ACS own groups. |
protected void |
setOwnResourceFoldersRootName(ImmutableName _name)
Sets name of the root for the ACS own resource virtual folders. |
protected void |
setOwnResourcesRootName(ImmutableName _name)
Set name of the root for the ACS own resources. |
java.lang.String |
toString()
Get the name last component of the instance. |
protected static ACSImpl |
valueOf(ImmutableName _iSname,
ImmutableName _parentName,
ImmutableName _name,
java.lang.String _type,
boolean _is_hub,
java.lang.String _visibleSpace,
java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects,
java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues,
java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights,
StringRight[] _l_Rights,
java.util.List<java.lang.String> _l_ImmutableRules,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary)
Factory method to use for creating an instance. |
protected static ACSImpl |
valueOfForGenericBase(ACSImpl _result,
ImmutableName _iSname,
ImmutableName _parentName,
ImmutableName _name,
java.lang.String _type,
java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects,
java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues,
java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights,
StringRight[] _l_Rights,
java.util.List<java.lang.String> _l_ImmutableRules,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties,
java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary)
Factory method to use for creating an instance. |
Methods inherited from class java.lang.Object |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String LINUX
public static final java.lang.String GENERIC
protected static final long serialVersionUID__
protected static final int PRIME
protected static final int INITIAL_CAPACITY_25
protected static final int INITIAL_CAPACITY_5
protected static final int INCREMENT_CAPACITY
protected static final int MAX_FOR_TYPED_PRIVILEGES_NUMBER
protected ImmutableName iSname_
protected ImmutableName name_
protected ImmutableName parentName_
protected BaseError baseError_
protected final java.util.SortedMap<ImmutableName,ImmutableResource> m_Resources_
protected final java.util.SortedMap<ImmutableName,ImmutableEligibleParty> m_EligibleParties_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_ConstraintsForNewObjects_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_TypesAndGUIPolicy_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_TypeOrientedPolicy_
protected java.util.HashMap<java.lang.String,StringRight[]> m_StandardRights_
protected java.util.HashMap<java.lang.String,StringRight[]> m_SpecializedRights_
protected java.util.List<java.lang.String> l_ImmutableRules_
protected boolean haveSpecializedRights_
protected ImmutableAclEntry[] l_AclEntry_
protected ImmutableName ownResourcesRootName_
protected ImmutableName ownGroupsRootName_
protected ImmutableName ownResourceFoldersRootName_
protected ImmutableName ownEPFoldersRootName_
protected javax.swing.ImageIcon icon_
protected java.lang.String iconName_
protected java.lang.String editor_
protected boolean is_hub_
protected java.lang.String visibleSpace_
protected ImmutableName[] l_OpenAcsControllerNames_
protected java.lang.String comment_
protected StringRight[] l_Rights_
protected Privilege[] l_Privilege_
protected VirtualFolder[] l_VirtualFolders_
protected java.util.Set<java.lang.String> categoriesInSpecializedRights_
protected java.lang.String aCSType_
protected boolean controlled_
protected boolean externalOriented_
protected java.util.Set<ImmutableName> l_ClosedAclEntriesACSNames_
protected java.util.Set<ImmutableAclEntry> l_ClosedAclEntries_
protected java.util.Set<ImmutableName> l_ClosedPrivilegesACSNames_
protected java.util.Set<PrivilegeForLinks> l_ClosedPrivileges_
protected java.util.SortedMap<ImmutableName,ImmutableName> m_closedTargetsOfActorBridgeSources_
protected java.util.SortedMap<ImmutableName,java.util.ArrayList<ImmutableName>> m_closedSourcesOfActorBridgeTargets_
protected java.util.SortedMap<java.lang.String,java.lang.Boolean> m_Structure_
protected java.util.ArrayList<ImmutableName> l_TiedChildACSs_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_SubAndGroupPolicy_
protected java.util.HashMap<java.lang.String,ImmutableName> m_BelongsToComposite_
In the returned value, the key is the subACS name, in one word, or the ACS name last component, and the value is the Composite name.
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootCommandsForAcsOpeningAndClosing_
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to exist, and has to be closed or updated (for a property value) at its closing.
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootCommandsForAcsOpeningNoClosing_
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to exist, but there is NO constraint at its closing.
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootCommandsForAcsIntegrity_
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to work well, in other words, following its specifications.
protected java.util.Map<java.lang.String,ImmutableName[]> m_RootsForChildACS_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_CommentsOnProperties_
protected java.util.List<ImmutableName> l_RootNamesForAcsOpeningNoClosing_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_AcsVocabulary_
- How to name the L_ACS_TREE_GENERIC_UPPER_NODES constants for this ACS, as names of the ACS tree nodes in the proper ACS internal frame. An example is to replace the tree node 'Actors (right user target)' by 'Scripts'.
- If the ACS is an AcsAddon, what are the generic gBase classes that are subclassed in the AcsAddon gBase package (see L_CLASSIC_CLASS_KEYS), like when the Addon Ubuntu subclasses ResourceImpl with ResourceUbuntuImpl.
- If the ACS is an AcsAddon, what are the specific new classes in the AcsAddon gBase package (see ACSADDON_NEW_CLASSES). In this case, the class names are separated by one space, like in 'ExecutableUbuntu XXXXUbuntu YYYYUbuntu'. The default value is ACSFactoryUtilityImpl.M_GENERIC_ACS_VOCABULARY.
ACSFactoryUtilityImpl.M_GENERIC_ACS_VOCABULARY
,
ACSFactoryUtilityImpl.L_ACS_TREE_GENERIC_UPPER_NODES
,
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
protected transient boolean containsBridgeTarget_
protected transient boolean containsBridgeSource_
protected transient boolean containsRootActions_
protected transient java.util.Map<ImmutableName,ImmutableActor> m_ActorBridgeTargets_
protected transient java.util.List<ImmutableActor> l_ActorBridgeTargets_
protected transient java.util.List<ImmutableActor> l_ActorBridgeSources_
protected transient java.util.List<ImmutableActor> l_NoRightProxyActors_
protected transient java.beans.PropertyChangeSupport changeSupport_
protected transient java.util.List<ImmutableName> l_RootNamesForAcsOpeningWithClosing_
protected transient java.util.List<ImmutableName> l_RootNamesForAcsIntegrity_
protected transient java.util.SortedMap<java.lang.String,StringRight[]> m_RightsOfInternalKey_
public static final ACSImpl EMPTY_INSTANCE
public static final java.io.ObjectStreamField[] serialPersistentFields
Constructor Detail |
---|
public ACSImpl()
Method Detail |
---|
protected static ACSImpl valueOf(ImmutableName _iSname, ImmutableName _parentName, ImmutableName _name, java.lang.String _type, boolean _is_hub, java.lang.String _visibleSpace, java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects, java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues, java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights, StringRight[] _l_Rights, java.util.List<java.lang.String> _l_ImmutableRules, java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties, java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary) throws BaseError
_iSname
- is the IS name. May be null._parentName
- is the name of the parent node in the IS nametree.
No use if _iSname is null. May be null._name
- is the acs name_type
- is ACSImpl.GENERIC (default value), LINUX, another ACSImpl constant
or another user-defined value. Must be non-null. No use if _l_structure is null:
the type is then set to LINUX._is_hub
- the IS nametree property for the ACS_visibleSpace
- the IS nametree property for the ACS_m_structure
- is the map of booleans which defines the ACS structure. Is null
for LINUX-type ACS._m_constraintsForStringValues
- is the map where
the key is a String of an ACSObject interface (like Resource) ended by
a bound property name (like ResourceType), with '.' as separator,
and the value is a String array of the authorized values for this bound property
(like {file, directory, executable, script...} for ResourceType). May be null._m_constraintsForNewObjects
- is the map where
the key is a String following one of the 7 possible formats,
and the value is a String array of the authorized values among 17. May be null._m_constraintsForRightValues
- is the map where
the key is a String of an ACSObject interface (like Resource) ended by
a bound property name (like the AGO GroupRights), with '.' as separator,
and the value is a StringRight array of the authorized values for this bound property
(like {d, r, w, x} for GroupRights). Never null._m_SpecializedRights
- is the map where
the key is a quartet (object.domain.key.subkey)
and the value is is a StringRight array of the authorized values. Never null._l_Rights
- array of acsrights and/or metarights which are workable. Never null._l_ImmutableRules
- list of the immutable rules derivated from the structure.
Never null._m_CommentsOnProperties
- comments on each ACS property, to explain the simulation.
May be null._m_AcsVocabulary
- defines several independant domains, like
how to name the constants in Gui2.ACSTree.M_ACS_TREE_UPPER_NODES for this ACS,
as names of the ACS nodes in the proper ACS internal frame, and,
if this ACS is an AcsAddon, what are the subclassed classes in the generic gBase.
May be null.
BaseError
- if _l_structure lenght is not 20, if there is a rule about
_l_structure which is not applied, or if the ACS
is already known by BaseManagerImpl.protected static ACSImpl valueOfForGenericBase(ACSImpl _result, ImmutableName _iSname, ImmutableName _parentName, ImmutableName _name, java.lang.String _type, java.util.SortedMap<java.lang.String,java.lang.Boolean> _m_structure, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForStringValues, java.util.HashMap<java.lang.String,java.lang.String[]> _m_constraintsForNewObjects, java.util.HashMap<java.lang.String,StringRight[]> _m_constraintsForRightValues, java.util.HashMap<java.lang.String,StringRight[]> _m_SpecializedRights, StringRight[] _l_Rights, java.util.List<java.lang.String> _l_ImmutableRules, java.util.HashMap<java.lang.String,java.lang.String[]> _m_CommentsOnProperties, java.util.HashMap<java.lang.String,java.lang.String[]> _m_AcsVocabulary) throws BaseError
_result
- the ACS to configure_iSname
- is the IS name. May be null._parentName
- is the name of the parent node in the IS nametree.
No use if _iSname is null. May be null._name
- is the acs name_type
- is ACSImpl.GENERIC (default value), LINUX, another ACSImpl constant
or another user-defined value. Must be non-null. No use if _l_structure is null:
the type is then set to LINUX._m_structure
- is the map of booleans which defines the ACS structure. Is null
for LINUX-type ACS._m_constraintsForStringValues
- is the map where
the key is a String of an ACSObject interface (like Resource) ended by
a bound property name (like ResourceType), with '.' as separator,
and the value is a String array of the authorized values for this bound property
(like {file, directory, executable, script...} for ResourceType). May be null._m_constraintsForNewObjects
- is the map where
the key is a String following one of the 7 possible formats,
and the value is a String array of the authorized values among 17. May be null._m_constraintsForRightValues
- is the map where
the key is a String of an ACSObject interface (like Resource) ended by
a bound property name (like OthersRights), with '.' as separator,
and the value is a StringRight array of the authorized values for this bound property
(like {d, r, w, x} for OthersRights in Unix). Never null._m_SpecializedRights
- is the map where
the key is a quartet (object.domain.key.subkey)
and the value is is a StringRight array of the authorized values. Never null._l_Rights
- array of acsrights and/or metarights which are workable. Never null._l_ImmutableRules
- list of the immutable rules derivated from the structure.
Never null._m_CommentsOnProperties
- comments on each ACS property, to explain the simulation.
May be null._m_AcsVocabulary
- defines several independant domains, like
how to name the constants in Gui2.ACSTree.M_ACS_TREE_UPPER_NODES for this ACS,
as names of the ACS nodes in the proper ACS internal frame, and,
if this ACS is an AcsAddon, what are the subclassed classes in the generic gBase.
May be null.
BaseError
- if _l_structure lenght is not 20, if there is a rule about
_l_structure which is not applied, or if the ACS
is already known by BaseManagerImpl.public static ACSImpl copy(ImmutableName _iSname, ImmutableName _parentName, ImmutableName _name, boolean _is_hub, java.lang.String _visibleSpace, ACSImpl _acs, boolean _toRegisterInManager) throws BaseError
- EligibleParties, excepted for Actors,
- Resources (including Actors), with their aclEntries,
- Privileges
The GroupIDMembers are copied and registered in the copied GroupID. The bridge source is copied with its link to the same bridge target, and the bridge target is copied with its link to a copied new source. The copy does not cover the links with closed ACS, both the aclEntries links and bridge links, and does not copy the associations.
Calls BaseUtilityImpl.copyDirectoryChildrenForACS() and EligibleParty.copyWithoutAcl().
_iSname
- is the IS name; may be null_parentName
- is the name of the parent node in the IS nametree;
may be null only if _iSname is null_name
- of the ACS. It is copied._is_hub
- is true if the ACS is a node hub, which means that for this node,
any direct child may have exchanges with any other direct child,
if the rights allow them._visibleSpace
- is a NameISTreeImpl constant which defines the nodes
in the IS nametree which are visible from this ACS node_acs
- is the ACSImpl to copy._toRegisterInManager
- true to register the copy in BaseManagerImpl.
BaseError
- if _iSname or _name is null or already known in BaseManagerImpl,
or if _acs is not knownpublic boolean getHaveSpecializedRights()
getHaveSpecializedRights
in interface ImmutableACS
public final ImmutableName getISName()
getISName
in interface ACSRun
public final ImmutableName getName()
getName
in interface BaseObject
public ImmutableName getFullName()
getFullName
in interface BaseObject
public java.lang.String getNickName()
getNickName
in interface BaseObject
public ImmutableName getParentName()
getParentName
in interface ACSRun
getParentName
in interface ImmutableACS
public java.lang.String getACSType()
getACSType
in interface ACSRun
public boolean getIsControlled()
getIsControlled
in interface ImmutableACS
public java.lang.String getIconName()
getIconName
in interface ImmutableACS
public javax.swing.ImageIcon getEorIcon()
getEorIcon
in interface ImmutableACS
public java.lang.String getEditorAndAddonNames()
getEditorAndAddonNames
in interface ACSCatalog
public boolean getIsFromAcsAddon()
getIsFromAcsAddon
in interface ImmutableACS
public long getSerialVersionUID()
getSerialVersionUID
in interface ImmutableCommonBase
public BaseError getEorBaseError()
getEorBaseError
in interface ImmutableCommonBase
public final java.util.SortedMap<ImmutableName,ImmutableResource> getEorM_Resources()
getEorM_Resources
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableEligibleParty> getEorM_EligibleParties()
getEorM_EligibleParties
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableEligibleParty> getEorM_OwnEligibleParties()
getEorM_OwnEligibleParties
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableResource> getEorM_OwnResources()
getEorM_OwnResources
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableResource> getEorM_OwnNoParentResources()
getEorM_OwnNoParentResources
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableResource> getEorM_ExternalResources()
getEorM_ExternalResources
in interface ACSCatalog
public final java.util.SortedMap<ImmutableName,ImmutableEligibleParty> getEorM_ExternalEligibleParties()
getEorM_ExternalEligibleParties
in interface ACSCatalog
public final VirtualFolder[] getEorL_ExternalVirtualFolders()
getEorL_ExternalVirtualFolders
in interface ACSCatalog
public java.util.SortedMap<ImmutableName,ImmutableActor> getEorM_Actors()
getEorM_Actors
in interface ACSCatalog
public java.util.SortedMap<ImmutableName,ImmutableActor> getEorM_OwnActors()
getEorM_OwnActors
in interface ACSCatalog
public java.util.List<ImmutableActor> getEorL_NoRightProxyActors()
public int getNumberOfResources()
getNumberOfResources
in interface ACSCatalog
public int getNumberOfEPs()
getNumberOfEPs
in interface ACSCatalog
public ImmutableName getOwnResourcesRootName()
getOwnResourcesRootName
in interface ImmutableACS
public ImmutableName getOwnGroupsRootName()
getOwnGroupsRootName
in interface ImmutableACS
public ImmutableName getOwnResourceFoldersRootName()
getOwnResourceFoldersRootName
in interface ACSCatalog
getOwnResourceFoldersRootName
in interface ImmutableACS
public ImmutableName getOwnEPFoldersRootName()
getOwnEPFoldersRootName
in interface ACSCatalog
getOwnEPFoldersRootName
in interface ImmutableACS
public ImmutableAclEntry[] getEorL_AclEntries()
getEorL_AclEntries
in interface ACSCatalog
public ImmutableAclEntry[] getEorL_ExternalAclEntries()
public AclEntry getOneAclEntryFromDetailledName(java.lang.String _detailledName)
getOneAclEntryFromDetailledName
in interface ACSCatalog
_detailledName
- AclEntry detailled name
public final StringRight[] getL_Rights()
getL_Rights
in interface ACSRun
public StringRight getFullControlRight()
getFullControlRight
in interface ACSRun
public final StringRight getOneRight(ImmutableName _name)
getOneRight
in interface ACSRun
_name
- is the name of the right, provided by StringRight.getName().
public final StringRight getOneRight(java.lang.String _right)
getOneRight
in interface ACSRun
_right
- is the right, provided by StringRight.getRight(). May be null.
public final StringRight getFirstRightFromMeta(java.lang.String _metaRight)
getFirstRightFromMeta
in interface ACSRun
_metaRight
- is the right of the metaright of the searched right,
provided by StringRight.getRight().
public void addRight(StringRight _right) throws CreateError
addRight
in interface ACSRun
_right
- is the new right to register. Not null.
CreateError
- if the method is called.public void removeRight(StringRight _right) throws UpDateError
removeRight
in interface ACSRun
_right
- the right to unregister.
UpDateError
- if the right is null or not known.public Privilege[] getEorL_Privileges()
getEorL_Privileges
in interface ACSCatalog
public Privilege getOnePrivilegeFromDetailledName(java.lang.String _detailledName)
getOnePrivilegeFromDetailledName
in interface ACSCatalog
_detailledName
- the privilege detailled name
public java.util.List<Privilege> getEorL_PrivilegeForLinks()
getEorL_PrivilegeForLinks
in interface ACSCatalog
public java.util.List<Privilege> getEorL_PrivilegeForTypes()
getEorL_PrivilegeForTypes
in interface ACSCatalog
public java.util.List<Privilege> getEorL_PrivilegeForTypesForSource(java.lang.String _type)
getEorL_PrivilegeForTypesForSource
in interface ACSCatalog
_type
- is the source type or, for TYPED_CLASSED_SPECIFIC, it is the source name.
No action if null.
public java.util.List<Privilege> getEorL_PrivilegeForTypesForTarget(java.lang.String _type)
getEorL_PrivilegeForTypesForTarget
in interface ACSCatalog
_type
- is the target type or, for TYPED_CLASSED_SPECIFIC, it is the target name.
No action if null.
public VirtualFolder[] getEorL_VirtualFolders()
getEorL_VirtualFolders
in interface ACSCatalog
public java.util.List<VirtualFolder> getEorL_ResourceVirtualFolders()
getEorL_ResourceVirtualFolders
in interface ACSCatalog
public java.util.List<VirtualFolder> getEorL_EPVirtualFolders()
getEorL_EPVirtualFolders
in interface ACSCatalog
public VirtualFolder getOneVirtualFolder(ImmutableName _name)
getOneVirtualFolder
in interface ACSCatalog
_name
- is the folder name
public final ImmutableName[] getL_AcsControllers()
getL_AcsControllers
in interface ACSCatalog
public final java.util.List<ImmutableActor> getEorL_OwnActorBridgeSources()
getEorL_OwnActorBridgeSources
in interface ACSCatalog
public final java.util.List<ImmutableActor> getEorL_OwnActorBridgeTargets()
getEorL_OwnActorBridgeTargets
in interface ACSCatalog
public boolean getIncompleteStructureModeling()
getIncompleteStructureModeling
in interface ACSCatalog
public void setIncompleteStructureModeling(boolean _b)
setIncompleteStructureModeling
in interface ACS
_b
- true if the modeling of the ACS structure is incomplete.public boolean getIncompleteBehaviorModeling()
getIncompleteBehaviorModeling
in interface ACSCatalog
public boolean getHubProperty()
getHubProperty
in interface ImmutableACS
public java.lang.String getVisibleSpace()
getVisibleSpace
in interface ImmutableACS
public boolean getTiedToParentACS()
ImmutableACS
getTiedToParentACS
in interface ImmutableACS
public boolean getManageResources()
getManageResources
in interface ACSCatalog
public boolean getManageResourceTrees()
getManageResourceTrees
in interface ACSCatalog
public boolean getManageAccounts()
getManageAccounts
in interface ACSCatalog
public boolean getManageGroups()
getManageGroups
in interface ACSCatalog
public boolean getManageGroupTrees()
getManageGroupTrees
in interface ACSCatalog
public boolean getManageInternalAcls()
getManageInternalAcls
in interface ACSCatalog
public boolean getManageExternalAcls()
getManageExternalAcls
in interface ACSCatalog
public boolean getManageFlexibleConditionalAcls()
getManageFlexibleConditionalAcls
in interface ACSCatalog
public boolean getManageRightDefinedConditionalAcls()
getManageRightDefinedConditionalAcls
in interface ACSCatalog
public boolean getManageACLRightsInheritance()
getManageACLRightsInheritance
in interface ACSCatalog
public boolean getManageActors()
getManageActors
in interface ACSCatalog
public boolean getManageDirectoryEPs()
getManageDirectoryEPs
in interface ACSCatalog
public boolean getManageBridges()
getManageBridges
in interface ACSCatalog
public boolean getManageSecGroupsForActor()
getManageSecGroupsForActor
in interface ACSCatalog
public boolean getManageAGORights()
getManageAGORights
in interface ACSCatalog
public boolean getManageAGORightsInheritance()
getManageAGORightsInheritance
in interface ACSCatalog
public boolean getManagePrivilegeRights()
getManagePrivilegeRights
in interface ACSCatalog
public boolean getManageVirtualFolders()
getManageVirtualFolders
in interface ACSCatalog
public boolean getManageSimpleLinkedPrivileges()
getManageSimpleLinkedPrivileges
in interface ACSCatalog
public boolean getManageSimpleTypedPrivileges()
getManageSimpleTypedPrivileges
in interface ACSCatalog
public boolean getManageIfAllSourceLinkedPrivileges()
getManageIfAllSourceLinkedPrivileges
in interface ACSCatalog
public boolean getManageInternalForOneToOneLinkedPrivileges()
getManageInternalForOneToOneLinkedPrivileges
in interface ACSCatalog
public boolean getManageExternalForOneToOneLinkedPrivileges()
getManageExternalForOneToOneLinkedPrivileges
in interface ACSCatalog
public boolean getManageClassedTypedPrivileges()
getManageClassedTypedPrivileges
in interface ACSCatalog
public boolean getManageClassedSpecificTypedPrivileges()
getManageClassedSpecificTypedPrivileges
in interface ACSCatalog
public boolean getManageAuthorizationServerTypedPrivileges()
getManageAuthorizationServerTypedPrivileges
in interface ACSCatalog
public boolean getManageGrantingRightPrivileges()
getManageGrantingRightPrivileges
in interface ACSCatalog
public boolean getManageDenyingRightPrivileges()
getManageDenyingRightPrivileges
in interface ACSCatalog
public boolean getManagePrivilegesInResources()
getManagePrivilegesInResources
in interface ACSCatalog
public boolean getManagePrivilegesInVirtualFolders()
getManagePrivilegesInVirtualFolders
in interface ACSCatalog
public boolean getManageLPRIRightsInheritance()
getManageLPRIRightsInheritance
in interface ACSCatalog
public boolean getManageResourceVirtualFolders()
getManageResourceVirtualFolders
in interface ACSCatalog
public boolean getManageEPVirtualFolders()
getManageEPVirtualFolders
in interface ACSCatalog
public boolean getManageSimpleResourceVirtualFolders()
getManageSimpleResourceVirtualFolders
in interface ACSCatalog
public boolean getManageDirectoryInResourceVirtualFolders()
getManageDirectoryInResourceVirtualFolders
in interface ACSCatalog
public boolean getManageActorInEPVirtualFolders()
getManageActorInEPVirtualFolders
in interface ACSCatalog
public boolean getManageDirectoryEPinEPVirtualFolders()
getManageDirectoryEPinEPVirtualFolders
in interface ACSCatalog
public boolean getManageVirtualFolderTrees()
getManageVirtualFolderTrees
in interface ACSCatalog
public boolean getManageOneTimeInVirtualFolderTreeForMember()
getManageOneTimeInVirtualFolderTreeForMember
in interface ACSCatalog
public boolean getManageVirtualFolderRightsPropagationToMembers()
getManageVirtualFolderRightsPropagationToMembers
in interface ACSCatalog
public boolean getManageSoftAlias()
getManageSoftAlias
in interface ACSCatalog
public boolean getManageInternalHardAlias()
getManageInternalHardAlias
in interface ACSCatalog
public boolean getEmbeddedInParentACS()
getEmbeddedInParentACS
in interface ACSCatalog
public boolean getRunningOnParentACS()
getRunningOnParentACS
in interface ACSCatalog
public boolean getIsAuthorizationServer()
getIsAuthorizationServer
in interface ACSCatalog
public boolean getManageGrantRights()
getManageGrantRights
in interface ACSCatalog
public boolean getManageDenyRights()
getManageDenyRights
in interface ACSCatalog
public boolean getManageAcsRights()
getManageAcsRights
in interface ACSCatalog
public boolean getManageMetaRights()
getManageMetaRights
in interface ACSCatalog
public java.util.Map<java.lang.String,StringRight[]> getM_StandardRights()
- 'Resource.OwnerRights',
- 'Resource.GroupRights',
- 'Resource.AclRights',
- 'Actor.BridgeRights',
- 'PrivilegeRights.MainType.'+PrivilegeAbst.TYPED,
- 'PrivilegeRights.MainType.'+PrivilegeAbst.LINKED,
An AcsAddon ACS may have complementary keys, like for instance 'Resource.OtherRights' in the ACSUbuntuImpl class. In all cases, these AcsAddon keys have to start with the name of an interface, to be detected by ACSFactoryUtilityImpl.getL_MapKeysForSpecializedRights(), and they have to end with a property change name containing 'Rights', to be detected by BaseUtilityImpl.getRestrictedValues().
getM_StandardRights
in interface ACSCatalog
getM_SpecializedRights()
public java.util.Map<java.lang.String,java.lang.String[]> getM_TypesAndGUIPolicy()
- 'Resource.ResourceType' defines the allowed types for the Resources
- 'Actor.ResourceType' defines the allowed types for the Actors
- 'EligibleParty.EPType' defines the allowed types for the Eligible Parties
- 'VirtualFolder.resourceVFType' defines the allowed String types for the Resource VirtualFolders of the ACS
- 'VirtualFolder.EPVFType' defines the allowed String types for the Right User VirtualFolders of the ACS
- 'PrivilegeForType.SecondType' defines the allowed String types for the PrivilegeForTypes of the ACS
- 'PrivilegeForLinks.SecondType' defines the allowed String types for the PrivilegeForLinks of the ACS
- 'Explorer.NoAcsNode', where the values have the format 'ACSTree.XXX', to forbid the display in the explorer, of some standard nodes like 'AclEntries...' or 'GroupIDs',
- 'Explorer.SubAcsNode' sets some subacs nodes in the explorer, where the values have the format 'ResourceType.<byAcsCreator> XXX' or 'GroupType.<byAcsCreator> XXX', to specify the display under a dedicated node '<XXX_subacs>', of all the resources or groups having a type starting with '<byAcsCreator> XXX'. This type starting is reserved to these children.
- 'Explorer.AcsGroupTree' sets some group trees in the explorer, where the values have the format 'GroupType.<byAcsCreator> XXX', to specify the display under a dedicated node '<XXX_tree>' as its direct children, all the groupIDs having a type which starts with '<byAcsCreator> YYY'. This type starting is reserved to these children.
- 'CreationByBeamer.NoType' where the values are some forbidden types, to forbid the creation by the user and through the GUI, of ACSObjects having these types for a given class.
With the key 'CreationByBeamer.NoType', the user can create some ACSObjects only with the types the ACS authorizes. Typically, the types 'ResourceType.<byAcsCreator>' and 'EPType.<byAcsCreator>' are not allowed. After the first selection of allowed types, it may have a removing of some values from the getM_TypesAndGUIPolicy() key 'CreationByBeamer.NoType'. The forbidden types are the map values, with one of the following forms: 'ResourceType.forbidden type', 'EPType.forbidden type', 'DirectoryType.forbidden type', 'ActorType.forbidden type', 'UserIDType.forbidden type', 'GroupIDType.forbidden type', 'VirtualFolderType.forbidden type', 'PrivilegeSecondType.forbidden type'.
A forbidden type for EligibleParty is not forbidden to all the EligibleParty subclasses. This is also true for a forbidden type for Resource. Like the order of interfaces, the 'ActorType.forbidden type' list is the single list to applied to an Actor, just like 'DirectoryType.forbidden type' for the Directories, and 'UserIDType.forbidden type' for the UserID.
getM_TypesAndGUIPolicy
in interface ACSCatalog
public java.util.Map<java.lang.String,java.lang.String[]> getM_TypeOrientedPolicy()
There are 31 possible forms for the key, presented hereinafter:
- 'GroupIDMember.NoMemberOf', where the values are the types of the groupmembers for which the role of member of another group is forbidden
- 'GroupIDMember.IsNotConditionalAclSource', where the values are the types of the GroupIDmembers for which the conditional ACL is forbidden as source
- 'GroupID.NoPrimaryGroup', where the values are the types of the groups for which the role of primary group for an account is forbidden
- 'GroupID.NoMainGroup' where the values are the types of the groups for which the role of main group of a resource is forbidden
- 'GroupID.NoSecondaryGroup' where the values are the types of the groups for which the role of secondary group of an actor is forbidden
- 'GroupID.MemberFromAdmin' where the values are the types of the groups where every member has to be an administrator
- 'GroupID.NoUserIDMember' where the values are the types of the groups where every member has to not be an UserID
- 'GroupID.NoGroupIDMember' where the values are the types of the groups where every member has to not be a GroupID
- 'GroupID.NoMoreThanOneMember' where the values are the types of the groups where only one member is allowed
- 'GroupID.ConditionalAclGroup' where the values are the types of the groups which may be condition groups in some flexible or right-defined conditional ACLs
- 'Resource.OneRightACL' where the values are the types of the resources which handled only AclEntries with no or one right
- 'Resource.NoAccount' where the values are the types of the resources which do not handle an account as owner (a group is possible from parent)
- 'Resource.NoConditionalACL' where the values are the types of the resources which never handle flexible or right-defined conditional AclEntries
- 'Resource.NoNonConditionalACL' where the values are the types of the resources for which an AclEntry without condition group(s) is never operational
- 'Resource.OneConditionGroupInACL' where the values are the types of the resources which handled only conditional AclEntries with no or one condition group
- 'Actor.NoCurrentAccount' where the values are the types of the actors for which a current account is forbidden
- 'Actor.NoCurrentGroup' where the values are the types of the actors for which a current group is forbidden
- 'Actor.NoNullCurrentAccount' where the values are the types of the actors for which a current account is mandatory
- 'Actor.IsNotBridgeTarget' where the values are the types of the actors which cannot be bridge targets
- 'Actor.IsNotBridgeSource' where the values are the types of the actors which cannot be bridge sources
- 'Actor.IsNotConditionalAclSource', where the values are the types of the Actors for which the conditional ACL is forbidden as source
The following keys include an ACSObject type, after the last point: - 'GroupID.TypesOfMemberFor.allowed_GroupID_type' where the values are the allowed types of the members for a group having this type
- 'GroupIDMember.NoMoreThanOneGroup.allowed_GroupIDMember_type' where the values are the GroupID types for which the groupIDmember may be member of one group of this type at most
- 'GroupIDMember.RecommandedGroupsAsMember.allowed_GroupIDMember_type'
where the values are the GroupID types for which a message
recommands to the user to put the groupIDMember as member;
there, it is possible to describe some alternatives
like 'group_type_one
- 'Directory.TypesOfChildFor.allowed_Directory_type' where the values are
the allowed types of the children for a Directory having this type,
or if the type is 'NULL', for a Resource without parent
- 'VirtualFolder.TypesOfMemberFor.allowed_VirtualFolder_type' where the values are
the allowed types of the members for a VirtualFolder having this type
- 'VirtualFolder.TypesOfChildFor.allowed_VirtualFolder_type' where the values are
the allowed types of the children for a VirtualFolder having this type,
or if the type is 'NULL', for a VirtualFolder without parent
- 'Resource.SecondTypesOfPrivilegeFor.allowed_Resource_type' where the values are
the allowed second types of the privileges for a Resource having this type
- 'EligibleParty.SecondTypesOfPrivilegeFor.allowed_EligibleParty_type' where the values are
the allowed second types of the privileges for an EligibleParty having this type
- 'VirtualFolder.SecondTypesOfPrivilegeFor.allowed_VirtualFolder_type' where the values are
the allowed second types of the privileges for a VirtualFolder having this type
- 'Resource.TypesOfSourceForConditionalACL.allowed_Resource_type' where the values are
the allowed EligibleParty types as source of a conditional ACL
in a Resource having this type
getM_TypeOrientedPolicy
in interface ACSCatalog
public final java.util.Map<java.lang.String,StringRight[]> getM_SpecializedRights()
As map keys, examples of quartets (object.domain.key.subkey) are:
- 'Target.AclRightsSet.Interface.Directory', for ACL rights when the target is a Directory instance
- 'Target.AccRightsSet.Type.script', for Account rights when the target has the type 'script'
- 'Source.AclRightsSet.Type.group', for ACL rights when the source has the type 'group'
- 'PFType.PrvRightsSet.Type.role one', for PrivilegeForTypes having the second type 'role one'
The object is Target or Source to indicate that these rights are for the target (or source) which has the correct interface or type.
For Privileges only, 'PFType' indicates rights for PrivilegeForTypes, and 'PFLink' indicates that it is for PrivilegeForLinks.
The domain may be one of the right categories: 'AccRightsSet' for Target only, 'GpORightsSet' for Target only, 'AclRightsSet' for Target only, 'BdgRightsSet', 'RooRightsSet' for root. 'PrvRightsSet' for PrivilegeForTypes and PrivilegeForLinks only.
The key is 'Interface' or 'Type' to indicate that the subkey belongs to one of these categories.
The subkey is an interface name or a Basic type (or second type for a Privilege), for which the specialized rights have to be used.
The value in the returned map is an array of StringRight which may have a lenght of 0.
getM_SpecializedRights
in interface ACSCatalog
BaseUtilityImpl.getL_AcsSpecializedRights(java.lang.String, ARoad0.gBaseInterface.ImmutableACS, java.lang.String, java.lang.String, java.util.Collection)
,
getM_StandardRights()
public java.util.Set<java.lang.String> getCategoriesInSpecializedRights()
public final java.util.Map<java.lang.String,java.lang.String[]> getM_AssociationsOnNewObject()
- 'Class'.'Property'.<Value>.XXX: a new object property has the value XXX;
- 'Class'.'Property'.<Valuecontains>.XXX: a new object property value contains the value XXX;
- 'Class'.'Property'.<Class>.XXX: a new object property has a class with exactly the simple name XXX;
- 'Class'.'Property'.<NameStartsWith>.XXX: the new object property name starts with the ACS name plus the subname XXX;
- 'Class'.<NameStartsWith>.XXX: the new object name of the class starts with the ACS name plus the subname XXX;
- <Class>.<Value>.XXX: the new object class is XXX in a gBase package;
The allowed String map values depends lightly on the map key. The values define one or several actions to do if the key matches. There are 5 possible formats for the first value of the action N:
- N.<AssociateClass>.XXX which specifies the class name XXX in gBase, without the Impl String,
of an associate object to build up or to finalize when the master is build up
or finalized
- N.<CalledMethod>.<Master>.YYY which specifies the method YYY to call on the master,
- N.<CalledMethod>.<ACS>.YYY which specifies the method YYY to call on the master ACS
- N.<CalledMethod>.<Action>.C.ZZZ which specifies the method ZZZ
to call on the associate previously created by the action number C.
- <CalledMethod>.<Object>.XXX+<Class>+YYY+<Value>+ZZZ which specifies the method ZZZ
to call on the future ACSObject having the name XXX and the class YYY, where the parameters must be the master or an associate to set the reverse operation when it is finalized.
After each first value, there is the full list of the constraints on the arguments of the constructor (case 1) or the method (cases 2 to 5), and there is one constraint specification per argument. Note that the method does not need to know the property name, but it is usefull to the user. Each argument constraint specification belongs to a set of 9 allowed formats, presented herein for the action with the N number:
- N.'PropertyName'.<Null>: null value for the argument having the name 'PropertyName'
- N.'PropertyName'.<Master>: the master is the argument
- N.'PropertyName'.<MasterCreation>: boolean true if the master is creating, false if it is finalizing
- N.'PropertyName'.<ArgumentValue>.C: the associate or argument number C object
- N.'PropertyName'.<Value>.XXX: the argument is XXX as String, ImmutableName if it is the property type, true/false if the type is boolean, or any BaseObject get from its name
- N.'PropertyName'.<Value>.XXX+<MasterValue>+YYY: the master value
for the same property in its BeanInfo (the read method has to not return an array), with some optional pre String value 'XXX' and post value 'YYY' if the property type is String
- N.'PropertyName'.<Value>.XXX+<MasterNameLastComponent>+YYY:
the last component in the master name, with some optional
pre and post Name values as Strings
- N.'PropertyName'.<Value>.<MasterNameContext>+YYY
the context in the master name, with a post Name value as String
- N.'PropertyName'.<Value>.<ACSName>+YYY: the master ACS name,
with a post Name value as String if it is the property type, or any BaseObject get from its name
The internal map may contain values where the first characters are not 'N.', but the first no-number value and its followings are returned by this method which is used by StringMapPropertyEditor to edit the internal map. Called by ActionNewACSyst.fillDerivedACSproperties() to populate the new acs associations.
getM_AssociationsOnNewObject
in interface ACSRun
public void addPropertyChangeListener(java.beans.PropertyChangeListener _l)
The listeners are proper to one ACSImpl instance, outside gBase, transient (not serialized), and they are called in any order, excepted for:
1/ The sequence for a Resource change is : ExternalOrientedAclEntry, ExternalOriented, M_OwnResources (or External), OneResource, OneBaseObject. It is very similar for an EligibleParty change and a VirtualFolder change.
2/ For Actors, 'OneResource' is always fired when 'OneEligibleParty' is fired, and it is fired before this event for a resource creation, and after this first event for a resource deletion. 'OneBaseObject' is fired when the operation is completed, so, and it is fired always just after 'OneEligibleParty' if it is an actor creation, and always just after 'OneResource' if it is an actor deletion.
Caution: when this method is used to detect a new ACSObject instance send by ACSImpl in a PropertyChangeEvent, the new instance may be not still fully initialized.
addPropertyChangeListener
in interface BaseBeanManager
addPropertyChangeListener
in interface BoundBean
_l
- PropertyChangeListener to add. Caution: the listener must NOT
have specific hashCode() and equals() methods, to work with HashSet
in the removing operations.public void addPropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
The listeners are proper to one ACSImpl instance, outside gBase, transient (not serialized), and they are called in any order, excepted for:
1/ The sequence for a Resource change is : ExternalOrientedAclEntry, ExternalOriented, M_OwnResources (or External), OneResource, OneBaseObject. It is very similar for an EligibleParty change and a VirtualFolder change.
2/ For Actors, 'OneResource' is always fired when 'OneEligibleParty' is fired, and it is fired before this event for a resource creation, and after this first event for a resource deletion. 'OneBaseObject' is fired when the operation is completed, so, and it is fired always just after 'OneEligibleParty' if it is an actor creation, and always just after 'OneResource' if it is an actor deletion.
Caution: when this method is used to detect a new ACSObject instance send by ACSImpl in a PropertyChangeEvent, the new instance may be not still fully initialized.
addPropertyChangeListener
in interface ACSRun
addPropertyChangeListener
in interface BaseBeanManager
addPropertyChangeListener
in interface BoundBean
_propertyName
- String is the 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.public void removePropertyChangeListener(java.beans.PropertyChangeListener _l)
removePropertyChangeListener
in interface BaseBeanManager
removePropertyChangeListener
in interface BoundBean
_l
- PropertyChangeListener to removepublic void removePropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
removePropertyChangeListener
in interface ACSRun
removePropertyChangeListener
in interface BaseBeanManager
removePropertyChangeListener
in interface BoundBean
_propertyName
- String is the name of the property_l
- PropertyChangeListener to removepublic final boolean containsResourceName(ImmutableName _name)
containsResourceName
in interface ACSCatalog
_name
- ImmutableName of the resource to test in the ACS
public final boolean containsOwnResourceName(ImmutableName _name)
containsOwnResourceName
in interface ACSCatalog
_name
- of the resource to test
public final boolean containsEligiblePartyName(ImmutableName _name)
containsEligiblePartyName
in interface ACSCatalog
_name
- ImmutableName of the eligible party to test
public final boolean containsOwnEligiblePartyName(ImmutableName _name)
containsOwnEligiblePartyName
in interface ACSCatalog
_name
- ImmutableName of the eligible party to test
public final boolean containsAclEntry(ImmutableAclEntry _acl)
containsAclEntry
in interface ACSCatalog
_acl
- AclEntry to test
public final boolean containsPrivilegeName(ImmutableName _name)
containsPrivilegeName
in interface ACSCatalog
_name
- of the privilege to test
public final boolean containsVirtualFolderName(ImmutableName _name)
containsVirtualFolderName
in interface ACSCatalog
_name
- of the virtual folder to test
public final boolean containsOwnVirtualFolderName(ImmutableName _name)
containsOwnVirtualFolderName
in interface ACSCatalog
_name
- of the virtual folder to test
public boolean getIsExternalOriented()
getIsExternalOriented
in interface ImmutableACS
public boolean getContainsBridgeTarget()
getContainsBridgeTarget
in interface ImmutableACS
public boolean getContainsBridgeSource()
getContainsBridgeSource
in interface ImmutableACS
public static final java.util.List<java.lang.String> getL_AcsTypes()
public final java.util.List<java.lang.String> getL_ImmutableRules()
getL_ImmutableRules
in interface ACSCatalog
public java.lang.String getComment()
public void setComment(java.lang.String _s)
setComment
in interface ACS
_s
- comment which is associated to the acs.public boolean equals(java.lang.Object _obj)
equals
in interface BaseObject
equals
in class java.lang.Object
_obj
- object to compare
public int hashCode()
hashCode
in interface BaseObject
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.List<ImmutableName> getL_TiedChildACS()
getL_TiedChildACS
in interface ImmutableACS
public void setL_TiedChildACS(java.util.List<ImmutableName> _l_names)
setL_TiedChildACS
in interface ACS
_l_names
- the names of the child ACS which are tied up to this instance.
May be null or empty.public java.util.Map<java.lang.String,java.lang.String[]> getM_SubAndGroupPolicy()
<ResourceSubACS>, <GroupSubACS> and <GroupTree>.
For instance, the value 'yyy' for the key <GroupTree>, means that a group root node '<yyy_tree>' has to be displayed directly under the GroupIDs node, in the explorer. For the two other keys, a value 'xxxx' means that a node '<xxxx_subacs>' has to be displayed directly under the Resources and the AclEntries nodes, or under the GroupIDs node.
getM_SubAndGroupPolicy
in interface ImmutableACS
public java.util.Map<java.lang.String,ImmutableName> getM_BelongsToComposite()
In the returned value, the key is the subACS name, in one word, or the ACS name last component, and the value is the Composite name.
getM_BelongsToComposite
in interface ImmutableACS
public java.util.Map<java.lang.String,ImmutableName[]> getM_InnerRootsForChildACS()
getM_InnerRootsForChildACS
in interface ImmutableACS
getM_RootCommandsForOpeningAndClosing()
,
getM_RootCommandsForOpeningNoClosing()
,
getM_RootCommandsForIntegrity()
public java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForOpeningAndClosing()
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to exist, and has to be closed or updated (for a property value) at its closing.
getM_RootCommandsForOpeningAndClosing
in interface ImmutableACS
- ACS.Name.<Value>.XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl. Never null.
AssociateUtilityImpl
public java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForOpeningNoClosing()
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to exist, but there is NO constraint to free the associations at its closing.
getM_RootCommandsForOpeningNoClosing
in interface ImmutableACS
- ACS.Name.<Value>.XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl.
AssociateUtilityImpl
public java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForIntegrity()
This relation set that the root parent ACSObject, or one of its property value, has to be there when the child ACS is opened, to ensure its ability to work well, in other words, following its specifications.
getM_RootCommandsForIntegrity
in interface ImmutableACS
- ACS.Name.<Value>.XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl.
AssociateUtilityImpl
public java.util.List<ImmutableName> getL_RootsForOpening()
getL_RootsForOpening
in interface ImmutableACS
public java.util.List<ImmutableName> getL_RootsForClosing()
getL_RootsForClosing
in interface ImmutableACS
public java.util.List<ImmutableName> getL_RootsForIntegrity()
getL_RootsForIntegrity
in interface ImmutableACS
public boolean getContainsRootActions()
getContainsRootActions
in interface ImmutableACS
public final java.util.Map<java.lang.String,java.lang.String[]> getM_CommentsOnProperties()
getM_CommentsOnProperties
in interface ACSRun
public final java.util.Map<java.lang.String,java.lang.String[]> getM_AcsVocabulary()
- the AcsAddon editor, the AcsAddon package editor and the AcsAddon name, in three keys,
- how to name the L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS constants for this ACS, as names of the ACS tree nodes in the proper ACS internal frame. An example is to replace the tree node 'UserIDs (right user)' by 'Accounts'.
- what are the gBase classes to use, from the generic package or from the AcsAddon gBase package (see L_CLASSIC_CLASS_KEYS), like when the Addon Ubuntu subclasses ResourceImpl with ResourceUbuntuImpl. The full Java name of the subclass has to be put in the value array.
- If the ACS is an AcsAddon, what are the specific new classes in the AcsAddon gBase package (see ACSADDON_NEW_CLASSES). In this case, the class names are separated by one space, like in 'Executable/is/Actor XXX/is/Resource'.
- If the ACS is an AcsAddon, what are the non-generic rights in the ACSObjects on which the ACS constraints of the specialized rights are applicable, and in that case, what domain is applicable. An example is the domain 'GpORightsSet' for the property 'OtherRights', in Ubuntu, that is declared by the value 'OtherRights.GpORightsSet'.
The method getEditorAndAddonNames() also returns the editor and AcsAddon names.
getM_AcsVocabulary
in interface ACSRun
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
public java.util.SortedMap<java.lang.String,java.lang.Boolean> getM_Structure()
getM_Structure
in interface ACSCatalog
public java.util.SortedMap<java.lang.String,StringRight[]> getM_RightsOfInternalKey()
getM_RightsOfInternalKey
in interface ACSCatalog
public StringRight[] getL_SelectedRights(java.lang.String _r1, java.lang.String _r2, java.lang.String _r3, java.lang.String _r4, java.lang.String _r5)
getL_SelectedRights
in interface ACSCatalog
_r1
- nick name of an ACS right. May be null._r2
- nick name of an ACS right. May be null._r3
- nick name of an ACS right. May be null._r4
- nick name of an ACS right. May be null._r5
- nick name of an ACS right. May be null.
public ACSObject getReferenceOfSoftAlias(ACSObject _alias)
getReferenceOfSoftAlias
in interface ImmutableACS
_alias
- ACSObject from another ACS
protected void setEorIcon(java.lang.String _iconName)
_iconName
- file name of the icon associated to the ACS. Never null.protected void newEorResource(ImmutableResource _res) throws CreateError
_res
- is just created in a Resource constructor, or
external resource which is associated to an aclEntry owned by this ACS
CreateError
- (and baseError) if the Name is already known
in ACSCatalog, if the Name is null, or if the resource type is not allowed
by this ACSprotected void addResource(ImmutableResource _res) throws CreateError
_res
- is just created in a Resource constructor, or
external resource which is associated to an aclEntry owned by this ACS
CreateError
- (and baseError) if the Name is already known,
if the Name is null.protected void removeEorResource(ImmutableResource _res) throws UpDateError
Updates the resources root name if _res is this root. Called by removeEorAclEntry() and PrivilegeForLinks.removeEorPrivilegeTargetLink() for an external resource. Not called by removeEorPrivilege(). For an external resource, calls removeAcsController() on its ACS. Fires property change events on "M_OwnResources" or "OneExternalResource", and fire "OneResource", "OneBaseObject". Overridden by the AcsAddon subclasses.
_res
- internal or external open ImmutableResource to be taken off in the ACS.
UpDateError
- (and baseError) if the Name is unknown in the ACS.protected void newEorEligibleParty(ImmutableEligibleParty _ep) throws CreateError
Calls addEligibleParty() which does the work and fires a property change on "M_OwnEligibleParties", "OneEligibleParty" and "OneBaseObject".
Overridden by the AcsAddon subclasses. Called from the subclasses and EligibleParty implementations.
_ep
- is just created in EligibleParty()
or in ActorImpl(), or associated to a newEorAclEntry() call
CreateError
- (and baseError) if the Name is already known
in ACSCatalog, if the Name is null or if the ep type is not allowed.protected void addEligibleParty(ImmutableEligibleParty _ep) throws CreateError
_ep
- is just created in EligibleParty()
or in ActorImpl(), or associated to a newEorAclEntry() call
CreateError
- (and baseError) if the Name is already known
in the base, if the Name is null.protected void removeEorEligibleParty(ImmutableEligibleParty _ep) throws UpDateError
_ep
- to remove
UpDateError
- (and BaseError) if the name is unknownprotected final void newEorAclEntry(ImmutableAclEntry _acl) throws CreateError
If the resource ACS is different to this ACS and if it is unknown by this ACS, the resource is recorded as an external one. If the resource ACS unknowns this ACS as a controller, this ACS is recorded as a controller in the resource ACS, but only if the acl ACS is not closed. Calls setExternalOriented(). The ACL rights are not controlled there, like in the new methods for resource and for eligible party, because the ACS restrictions are controlled in the AclEntry constructor.
The change events are fired after the updating of the AclEntry internal list. Fires an event 'AclEntry' without copy, and for an external object, 'OneExternalResource', 'OneResource', or 'OneExternalEligibleParty' and 'OneEligibleParty'. May invoke addResource() and addEligibleParty() if _acl is the first aclEntry to associate these external objects to this ACS. The sequence of the property change firings is: events from the external addResource/EligibleParty methods, 'Controlled' and 'OneController' from the controlled ACS, 'ExternalOriented', then 'AclEntry'.
Caution: These property changes are not to be used for updating the views, since they are fired before the associated firings from the AclEntry Resource and EligibleParty on which the changes are followed by the views.
_acl
- new AclEntry managed by this ACS. It is associated to
one resource and one eligible party, and they may belong to this ACS or not
CreateError
- (and baseError) if the resource name is null,
if the _acl ACS is closed or null.
No test of unicity for _acl, done in Resource.addAclEntry()protected final void removeEorAclEntry(ImmutableAclEntry _acl) throws UpDateError
The change events are fired after the updating of the AclEntry internal list. Fires an event 'OneExternalEligibleParty' or 'OneExternalResource', when the removed AclEntry has a Resource or an EligibleParty that belongs to another ACS. Calls setExternalOriented(). Fires an event for the 'AclEntry' property using a clone of _acl. May invoke removeEorResource(), removeEorEligibleParty() for external objects. May call removeAcsController(), but only if the acl ACS is not closed. if _acl is the last AclEntry to associate these external objects to this ACS. The sequence of the optional property change firings is: event 'OneExternalEligibleParty' or 'OneExternalResource', 'ExternalOriented', 'Controlled' from the controlled ACS, then 'AclEntry'.
_acl
- aclEntry to remove.
UpDateError
- if _acl is recorded more than once,
if the resource name is unknown in the ACS,
if _acl ACS is not a recorded controller of this ACS.protected void setExternalOriented()
protected void newEorPrivilege(Privilege _priv) throws CreateError
The sequence of the property change firings is: 'Privileges' then 'OneTypedPrivilege' or 'OneLinkedPrivilege', and 'OneBaseObject'.
_priv
- is the new privilege to register. Not null.
CreateError
- if typed privilege, and if the number of typed privileges is
at its maximum number, if another privilege as the same detailled name.
java.lang.InternalError
- if this ACS does not manage the privileges.protected void removeEorPrivilege(Privilege _priv) throws UpDateError
The change events are fired after the updating of the Privilege internal lists. Fires the events 'Privileges', 'OneTypedPrivilege' or 'OneLinkedPrivilege', and 'OneBaseObject'.
_priv
- to unregister.
UpDateError
- if the privilege is null or not known.protected final short controlEPandResourceTypes(java.lang.String _epType, java.lang.String _resourceType)
_epType
- is the type of the object which have the access rights.
Cannot be null, but '<undefined>' is a neutral always-allowed value._resourceType
- is the type of the object on which access rights are applied.
Cannot be null, but '<undefined>' is a neutral always-allowed value.
java.lang.InternalError
- if an argument type is null,
if this ACS does not manage Resources or EligiblePartiesprotected void addVirtualFolder(VirtualFolder _fold) throws CreateError
_fold
- is the new folder to register. Not null.
CreateError
- if the VirtualFolder is null, if
the name is already used, or if this ACS does not manage this object type.protected void newEorVirtualFolder(VirtualFolder _fold) throws CreateError
_fold
- is the new folder to register. Not null.
CreateError
- if the VirtualFolder is null, if
the name is already used, or if this ACS does not manage this object type.protected void removeEorVirtualFolder(VirtualFolder _fold) throws UpDateError
_fold
- to unregister.
UpDateError
- if the folder is null or not known.protected final java.util.Set<ImmutableName> getL_ClosedAclEntriesACSNames()
protected final java.util.Set<ImmutableAclEntry> getL_ClosedAclEntries()
protected final java.util.Set<ImmutableName> getL_ClosedACSBridgeSources()
protected final java.util.Set<ImmutableName> getL_ClosedPrivilegesACSNames()
protected final java.util.Set<PrivilegeForLinks> getL_ClosedPrivileges()
protected void finalizeForBase()
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
protected void firePropertyChange(java.lang.String _propertyName, java.lang.Object _oldValue, java.lang.Object _newValue)
The listeners are proper to one ACSImpl instance, outside gBase, transient (not serialized), and they are called in any order, excepted for:
1/ The order for a Resource change is : M_OwnResources (or External), OneResource, OneBaseObject. It is the same for the EligibleParty changes.
2/ For Actors, 'OneResource' is always fired when 'OneEligibleParty' is fired, and it is fired before this event for a resource creation, and after this event for a resource deletion. 'OneBaseObject' is fired when the operation is completed, so, and it is fired always just after 'OneEligibleParty' if it is an actor creation, and always just after 'OneResource' if it is an actor deletion.
_propertyName
- name of the bound property_oldValue
- of the property_newValue
- of the property. No operation if equal to _oldValue
and if the two values are not null.public boolean isPropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _listener)
isPropertyChangeListener
in interface ImmutableACS
_listener
- to test_propertyName
- name of the bound property to listen
protected final void closeExternalAclEntries(ACS _acs)
_acs
- to perform. Not null.protected final void checkClosedExternalAclEntries(ACS _acs)
_acs
- an open ACSprotected final void closeBridges(ACS _acs)
_acs
- process the actors from this ACSprotected final void checkClosedBridges(ACS _acs)
_acs
- an ACSprotected final void closeExternalLinkedPrivileges(ACS _acs)
_acs
- to perform. Not null.protected final void checkClosedExternalLinkedPrivileges(ACS _acs)
_acs
- an open ACSprotected final void closeAcsRights()
protected final void checkClosedAcsRights()
protected void fillNoRightProxyActors()
protected void addNoRightProxyActor(ImmutableActor _act)
_act
- complies the criteriaprotected void removeNoRightProxyActor(ImmutableActor _act)
_act
- does not comply the criteriaprotected void closeVirtualFolders()
protected void fillVirtualFolders()
protected void fillRightsOfInternalKey()
protected void handleAssociationsForRootsOfChildACS(ACSObject _root, boolean _opening)
May be called by AssociateUtilityImpl.add/removeAssociateActions() to update the ACS after the opening or the closing of one of its child ACS, following an association script. For instance, it should be used to make some complex works the scripts cannot do.
On the other hand, the scripts have the property to be ridden in the GUI by the advanced users of Access Road, on the contrary of this method.
_root
- is the ACSObject of this parent ACS which is a root of a child ACS_opening
- true if this method is called for the opening of the child ACS,
and false for its closingprotected void handleAssociationsForInnerObject(ACSObject _obj, boolean _creating)
Called by AssociateUtilityImpl.add/removeAssociateActions() to update the ACS after the creating or the deleting of one of its ACSObject, following an association script. For instance, it should be used to make some complex works the scripts cannot do.
On the other hand, the scripts have the property to be ridden in the GUI by the advanced users of Access Road, on the contrary of this method.
_obj
- is the ACSObject of this ACS which is creating or deleting_creating
- false if _obj is finalizingprotected void setOwnResourcesRootName(ImmutableName _name) throws UpDateError
_name
- ImmutableName of the root for the recorded own resources
in the ACS base. May be null or empty.
The directory has to be already recorded in the ACS base.
UpDateError
- if the Node has a parent,
or if it doesn't owned to this ACS.protected void setOwnGroupsRootName(ImmutableName _name) throws UpDateError
_name
- of the root for the recorded own groups
in the ACS base. May be null or empty.
The group has to be already recorded in the ACS base.
UpDateError
- if the group has a parent,
or if it doesn't owned to this ACS.protected void setOwnResourceFoldersRootName(ImmutableName _name) throws UpDateError
_name
- of the root for the recorded own resource folders
in the ACS base. May be null or empty.
The folder has to be already recorded in the ACS base.
UpDateError
- if the folder has a parent,
or if it doesn't owned to this ACS.protected void setOwnEPFoldersRootName(ImmutableName _name) throws UpDateError
_name
- of the root for the recorded own EP folders
in the ACS base. May be null or empty.
The folder has to be already recorded in the ACS base.
UpDateError
- if the folder has a parent,
or if it doesn't owned to this ACS.protected final void addOwnActorBridgeTarget(ImmutableActor _source, ImmutableActor _target) throws CreateError
_source
- is a non-null external actor which is the source_target
- is a non-null own actor which is the target
CreateError
- if a parameter is null or does not belong to
the right ACS.protected final void removeOwnActorBridgeTarget(ImmutableActor _target) throws CreateError
_target
- non-null own actor which is a bridge target
CreateError
- if the source is null or not registered, or
InternalError if the associated source is not foundprotected final void removeOwnActorBridgeTargetFromSource(ImmutableActor _source, BaseObject _caller) throws CreateError
_source
- non-null actor which is an axternal source (not the target!)_caller
- is used to call to the source if it is not the caller
CreateError
- if the source is null or not registeredprotected final void addOwnActorBridgeSource(ImmutableActor _actor) throws CreateError
_actor
- non-null actor which is a source
CreateError
- if the actor does not belong to the ACSprotected final void removeOwnActorBridgeSource(ImmutableActor _actor) throws CreateError
_actor
- non-null actor which is a source
CreateError
- if not registeredprotected final void addRootForChildACS(ImmutableName _child, ACSObject _root) throws CreateError
_child
- child ACS name_root
- from this ACS to add as root for _child. Noop if it is already known.
CreateError
- if an argument is null, _child is this ACS or if
_root does not belong to this ACSprotected final void removeRootForChildACS(ImmutableName _child, ACSObject _root) throws CreateError
_child
- child ACS name_root
- to remove
CreateError
- if an argument is null, _child is this ACS, if
_root does not belong to this ACS, or if _obj is unknown.protected void initializeAcsRelationsInIS(java.util.HashMap<java.lang.String,ImmutableName> _m_isComposite, java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsOpeningAndClosing, java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsOpeningNoClosing, java.util.HashMap<java.lang.String,java.lang.String[]> _m_RootsForAcsIntegrity, java.util.HashMap<java.lang.String,java.lang.String[]> _m_SubAndGroupPolicy) throws BaseError
_m_isComposite
- the map of the composite relations.
The key is the subACS name, in one word,
or the ACS name last component, and the value is the Composite name.
May be null but not empty._m_RootsForAcsOpeningAndClosing
- where the map key has the format
ACS.Name._m_RootsForAcsOpeningNoClosing
- where the map key has the format
ACS.Name._m_RootsForAcsIntegrity
- where the map key has the format
ACS.Name._m_SubAndGroupPolicy
- where the map key is the subACS name, in one word,
and the map value is an array which may contain the following values: 'Resources', 'UserIDs' and 'GroupIDs'. May be null but not empty.
BaseError
- from AssociateUtilityImpl or addRootForChildACS()protected void setAcsRelationsInIS(boolean _atCreation, boolean _atImport) throws BaseError
Does not fire any property change. Calls addRootForChildACS(), AssociateUtilityImpl.addRootsInParentACSs() and getL_AssociatesAndCalledMethods().
_atCreation
- true at the creation or importation of the ACS, false at its opening_atImport
- true only at the importation of the ACS
BaseError
- from AssociateUtilityImpl, addRootForChildACS(),
NameImpl.getNameFromString(), Resource/EligibleParty.finalizeForUser()protected final void removeAcsController(ImmutableName _ACSname) throws UpDateError
_ACSname
- open ACS that controls this ACS
UpDateError
- if _ACSname is unknown.protected final void addAcsController(ImmutableName _ACSname) throws CreateError
_ACSname
- of open ACS that controls a resource
of this ACS. This method is called by newEorAclEntry() from the AclEntry ACS
if it is an another ACS, and by PrivilegeforLinks.addEorPrivilegeSource/TargetLink()
if it is from another ACS.
If _ACSName is unknown, it adds _ACSname in the list of AcsControllers,
sets controlled_ to true.
Fires the PropertyChange events 'OneController' and 'Controlled'.
CreateError
- if the ACS is closed
(no exception if it is already known).protected final void addInParentACS(java.util.List<ImmutableName> _l_roots) throws CreateError, BaseError
_l_roots
- list of the roots to add in the parent ACSs
CreateError
- if the ACS is closed
(no exception if it is already known).
BaseError
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |