ARoad0.gBaseInterface
Interface ImmutableACS
- All Superinterfaces:
- ACSCatalog, ACSRun, BaseBeanManager, BaseObject, java.lang.Cloneable, ImmutableCommonBase
- All Known Subinterfaces:
- ACS
- All Known Implementing Classes:
- ACSImpl, ACSMySQLImpl, ACSUbuntuImpl
public interface ImmutableACS
- extends ACSCatalog, ACSRun, ImmutableCommonBase, java.lang.Cloneable
This interface is responsible for modeling an access control system (ACS).
It registers the controlled (internal and external) resources,
the eligible parties (accounts, groups, actors), and the aclEntries
of the ACS.
It registers the other ACS which control the ACS.
It cuts or restores in its objects, the external references to other ACS
when this ACS is closed or open.
Method Summary |
boolean |
getContainsBridgeSource()
Gets the presence of actors which are bridge sources. |
boolean |
getContainsBridgeTarget()
Gets the presence of actors which are bridge targets. |
boolean |
getContainsRootActions()
|
javax.swing.Icon |
getEorIcon()
|
boolean |
getHaveSpecializedRights()
|
boolean |
getHubProperty()
Gets the hub property for the ACS node in the IS nametree. |
java.lang.String |
getIconName()
|
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 the chain 'ARoad0.AcsAddon.' in the ACS class name. |
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()
Gets 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. |
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,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,ImmutableName[]> |
getM_InnerRootsForChildACS()
For a parent ACS, gets the list of the inner ACSObjects having with an opened child ACS,
a relation among ,
and . |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForIntegrity()
Get for a child ACS, the list of associations to roots in the parent ACS which
have a root relation with this child ACS. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForOpeningAndClosing()
Gets for a child ACS, the list of associations to roots in the parent ACSs. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_RootCommandsForOpeningNoClosing()
Gets for a child ACS, the list of associations to roots in the parent ACS which
have a root relation with this child 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. |
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()
|
ImmutableName |
getParentName()
Get 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 |
getTiedToParentACS()
Gets the IS nametree property. |
java.lang.String |
getVisibleSpace()
Gets the visible space for the ACS in the IS nametree. |
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. |
Methods inherited from interface ARoad0.gBaseInterface.ACSCatalog |
containsAclEntry, containsEligiblePartyName, containsOwnEligiblePartyName, containsOwnResourceName, containsOwnVirtualFolderName, containsPrivilegeName, containsResourceName, containsVirtualFolderName, getEditorAndAddonNames, getEmbeddedInParentACS, getEorL_AclEntries, getEorL_EPVirtualFolders, getEorL_ExternalVirtualFolders, getEorL_OwnActorBridgeSources, getEorL_OwnActorBridgeTargets, getEorL_PrivilegeForLinks, getEorL_PrivilegeForTypes, getEorL_PrivilegeForTypesForSource, getEorL_PrivilegeForTypesForTarget, getEorL_Privileges, getEorL_ResourceVirtualFolders, getEorL_VirtualFolders, getEorM_Actors, getEorM_EligibleParties, getEorM_ExternalEligibleParties, getEorM_ExternalResources, getEorM_OwnActors, getEorM_OwnEligibleParties, getEorM_OwnNoParentResources, getEorM_OwnResources, getEorM_Resources, getIncompleteBehaviorModeling, getIncompleteStructureModeling, getIsAuthorizationServer, getL_AcsControllers, getL_ImmutableRules, getL_SelectedRights, getM_RightsOfInternalKey, getM_SpecializedRights, getM_StandardRights, getM_Structure, getM_TypeOrientedPolicy, getM_TypesAndGUIPolicy, getManageAccounts, getManageACLRightsInheritance, getManageAcsRights, getManageActorInEPVirtualFolders, getManageActors, getManageAGORights, getManageAGORightsInheritance, getManageAuthorizationServerTypedPrivileges, getManageBridges, getManageClassedSpecificTypedPrivileges, getManageClassedTypedPrivileges, getManageDenyingRightPrivileges, getManageDenyRights, getManageDirectoryEPinEPVirtualFolders, getManageDirectoryEPs, getManageDirectoryInResourceVirtualFolders, getManageEPVirtualFolders, getManageExternalAcls, getManageExternalForOneToOneLinkedPrivileges, getManageFlexibleConditionalAcls, getManageGrantingRightPrivileges, getManageGrantRights, getManageGroups, getManageGroupTrees, getManageIfAllSourceLinkedPrivileges, getManageInternalAcls, getManageInternalForOneToOneLinkedPrivileges, getManageInternalHardAlias, getManageLPRIRightsInheritance, getManageMetaRights, getManageOneTimeInVirtualFolderTreeForMember, getManagePrivilegeRights, getManagePrivilegesInResources, getManagePrivilegesInVirtualFolders, getManageResources, getManageResourceTrees, getManageResourceVirtualFolders, getManageRightDefinedConditionalAcls, getManageSecGroupsForActor, getManageSimpleLinkedPrivileges, getManageSimpleResourceVirtualFolders, getManageSimpleTypedPrivileges, getManageSoftAlias, getManageVirtualFolderRightsPropagationToMembers, getManageVirtualFolders, getManageVirtualFolderTrees, getNumberOfEPs, getNumberOfResources, getOneAclEntryFromDetailledName, getOnePrivilegeFromDetailledName, getOneVirtualFolder, getRunningOnParentACS |
Methods inherited from interface ARoad0.gBaseInterface.ACSRun |
addPropertyChangeListener, addRight, getACSType, getFirstRightFromMeta, getFullControlRight, getISName, getL_Rights, getM_AcsVocabulary, getM_AssociationsOnNewObject, getM_CommentsOnProperties, getOneRight, getOneRight, removePropertyChangeListener, removeRight |
getParentName
ImmutableName getParentName()
- Get the mandatory parent name for the ACS in the IS nametree.
- Specified by:
getParentName
in interface ACSRun
- Returns:
- the parent name. May be null or empty.
getIsControlled
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.
If an another ACS has an external AclEntry or Privilege
which is connected to an eligible party from this ACS,
this ACS is NOT controlled. The concept of control is for targets only.
- Returns:
- boolean true if the ACS is controlled by one or several ACS
getIsExternalOriented
boolean getIsExternalOriented()
- Returns:
- true if, through its open external AclEntries or Linked Privileges,
the ACS is a controller of the target of another ACS, or if
it delivers some rights to an EligibleParty in another ACS.
Closed AclEntries and Privileges are not taken in account.
getContainsBridgeTarget
boolean getContainsBridgeTarget()
- Gets the presence of actors which are bridge targets.
- Returns:
- boolean true if, through bridge relations,
the Acs has bridge targets.
getContainsBridgeSource
boolean getContainsBridgeSource()
- Gets the presence of actors which are bridge sources.
- Returns:
- boolean true if, through bridge relations,
the Acs has bridge sources.
getOwnResourcesRootName
ImmutableName getOwnResourcesRootName()
- Returns:
- ImmutableName: root of the recorded own resources in the ACS base.
getOwnGroupsRootName
ImmutableName getOwnGroupsRootName()
- The current root is the first non-finalized group
without parent which has been created.
return name of the root for the recorded own groups in the ACS base.
- Returns:
- ImmutableName - May be equal to VectorNameImpl.EMPTY_INSTANCE.
getOwnResourceFoldersRootName
ImmutableName getOwnResourceFoldersRootName()
- The current root is the first non-finalized virtual folder for resources
without parent which has been created.
return name of the root for the recorded virtual folders in the ACS base.
- Specified by:
getOwnResourceFoldersRootName
in interface ACSCatalog
- Returns:
- ImmutableName - May be equal to VectorNameImpl.EMPTY_INSTANCE.
getOwnEPFoldersRootName
ImmutableName getOwnEPFoldersRootName()
- The current root is the first non-finalized virtual folder for
eligible parties, without parent which has been created.
return name of the root for the recorded virtual folders in the ACS base.
- Specified by:
getOwnEPFoldersRootName
in interface ACSCatalog
- Returns:
- ImmutableName - May be equal to VectorNameImpl.EMPTY_INSTANCE.
getHaveSpecializedRights
boolean getHaveSpecializedRights()
- Returns:
- true if some specialized rights have been defined.
getHubProperty
boolean getHubProperty()
- Gets the hub property for the ACS node in the IS nametree.
- Returns:
- the is_hub property
- Since:
- 0.7.0
getVisibleSpace
java.lang.String getVisibleSpace()
- Gets the visible space for the ACS in the IS nametree.
- Returns:
- the visible space property
- Since:
- 0.7.0
getTiedToParentACS
boolean getTiedToParentACS()
- Gets the IS nametree property.
- Returns:
- true if the acs is tied to its parent acs.
- Since:
- 0.7.0
getL_TiedChildACS
java.util.List<ImmutableName> getL_TiedChildACS()
- A tied child ACS has to be opened when this instance is opened.
Like any child ACS, it has to be closed when this instance is closed, and
it may be closed alone.
- Returns:
- the names of the child ACS which are tied up to this instance
getM_SubAndGroupPolicy
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.
A subACS is always open with its ACS.
In the returned value, the key is the subACS name or a group root name, in one word,
and the value is an array which may contain one or two items among the following values:
, and .
For instance, the value 'yyy' for the key ,
means that a group root node '' has to be displayed
directly under the GroupIDs node, in the explorer. For the two other keys,
a value 'xxxx' means that a node '' has to be displayed directly
under the Resources and the AclEntries nodes, or under the GroupIDs node.
- Returns:
- the map of the subACSs and the groups tree roots. May be empty but never null.
getM_BelongsToComposite
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.
In the returned value, the key is the subACS name, in one word,
or the last component of the ACS name, and the value is the Composite name.
- Returns:
- the map of the composite relations. Never null and may be empty.
getM_InnerRootsForChildACS
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 ,
and .
These relations set that the deleting or the updating of the ACSObject will
stop the child ACS or will modify its ability to run correctly.
- Returns:
- the map of the inner ACSObjects which support at least one child ACS.
The child ACS names are the keys, and the values are arrays of root names
from this ACS. Never null and may be empty.
- See Also:
getL_RootsForOpening()
,
getL_RootsForClosing()
,
getL_RootsForIntegrity()
getM_RootCommandsForOpeningAndClosing
java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForOpeningAndClosing()
- Gets for a child ACS, the list of associations to roots in the parent ACSs.
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.
- Returns:
- The map key has the format:
- ACS.Name..XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl.
- See Also:
AssociateUtilityImpl
getM_RootCommandsForOpeningNoClosing
java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForOpeningNoClosing()
- Gets for a child ACS, the list of associations to roots in the parent ACS which
have a root relation with this child ACS.
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.
- Returns:
- The map key has the format:
- ACS.Name..XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl.
- See Also:
AssociateUtilityImpl
getM_RootCommandsForIntegrity
java.util.Map<java.lang.String,java.lang.String[]> getM_RootCommandsForIntegrity()
- Get for a child ACS, the list of associations to roots in the parent ACS which
have a root relation with this child ACS.
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.
- Returns:
- The map key has the format:
- ACS.Name..XXX: a parent ACS name having the value XXX.
The map value is a sequence of commands which are executed by AssociateUtilityImpl.
- See Also:
AssociateUtilityImpl
getL_RootsForOpening
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.
There is no common roots with the values in getL_RootsForIntegrity(), but
some common values may exist with getL_RootsForClosing().
This list is generated by AssociateUtilityImpl from the commands in
getM_RootCommandsForOpeningAndClosing() and getM_RootCommandsForOpeningNoClosing().
- Returns:
- the root names.
getL_RootsForClosing
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.
There is no common roots with the values in getL_RootsForIntegrity(), but
all the values should exist in getL_RootsForOpening().
This list is generated by AssociateUtilityImpl from the commands in
getM_RootCommandsForOpeningAndClosing().
- Returns:
- the root names.
getL_RootsForIntegrity
java.util.List<ImmutableName> getL_RootsForIntegrity()
- Gets 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. There is no common roots with the values in
getL_RootsForOpening() and getL_RootsForClosing().
This list is generated by AssociateUtilityImpl from the commands in
getM_RootCommandsForIntegrity().
- Returns:
- the root names. May be empty but never null.
getContainsRootActions
boolean getContainsRootActions()
- Returns:
- true if the ACS has some roots in its parent ACS
getReferenceOfSoftAlias
ACSObject getReferenceOfSoftAlias(ACSObject _alias)
- Gets the reference in this ACS for an external or internal soft alias,
by the way of a specific algorithm. The internal reference may have several aliases.
This method returns null in this ACSImpl class.
It has to be overridden in the AcsAddons
where an external or internal soft alias is managed, and it is then
responsible to update the soft alias and the soft reference properties.
This means that a call to this method is the only mean to update these bound
properties. If the soft aliasing links may vary, it is the responsivility
of the AcsAddon to call this method at the right moment. This is true
typically when an object is deleted, or when there is a change into
the parameters defining the soft aliasing rules.
This method is not declared in the ACS
BeanInfo since it is not based on a property.
- Parameters:
_alias
- ACSObject from another ACS
- Returns:
- the internal ACSObject which is the reference of the argument.
May be null.
getEorIcon
javax.swing.Icon getEorIcon()
- Returns:
- the icon associated to the ACS. May be null.
getIconName
java.lang.String getIconName()
- Returns:
- the name of the icon associated to the ACS. May be null.
getIsFromAcsAddon
boolean getIsFromAcsAddon()
- To detect an AcsAddon, this method tests the chain 'ARoad0.AcsAddon.' in the ACS class name.
isPropertyChangeListener
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.
- Parameters:
_listener
- to test_propertyName
- name of the bound property to listen
- Returns:
- true if _listener is registered