|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectARoad0.gBase.ACSFactoryImpl
public class ACSFactoryImpl
This class is responsible for creating a new ACS, defining its structure, and creating the restrictions on the objects, rights, privileges and types values when an ACS is created. With ACSImpl, this is the most complex class of the gBase package. The main methods which ensure the ACS integrity rules are checkACSbeforeCreation() and ACSFactoryUtilityImpl.controlAcsStructure(). Called by gDMak.ActionNewACSyst and gWork.AcsFactory. This class does not implements the interface ACSCatalog, but most of the methods of this interface are implemented. Caution: This class uses for its GUI two BeanInfo; ACSFactoryImplBeanInfo and ACSPreFactoryImplBeanInfo. ACSPreFactoryImplBeanInfo ensures the creation of the ACSFactory instance and the acsrights list.
This class methods have to be called in the right order:
- through ACSPreFactoryImplBeanInfo, creates the instance constructor, including the acs name and the type, then creates the optional acsrights,
- change the dialog frame to create most of the acs properties, through ACSFactoryImplBeanInfo:
- the ACS structure,
- the IS nametree properties for the ACS: IS name, hub property, visible space, links,
- the EP and Resource types, if any, and the specialized values,
- the 4 set/addL_XXXRights(), if any,
- checkACSbeforeCreation() may be used at any step by the user,
- createACS(), which sets the new ACS and finalizes this class instance,
This class updates the nametrees, implying NameISTrees which have some specific uses:
- an ACS may belong to one information system (IS), or not,
- there are IS nametrees where ACS belonging to the IS are registered,
- a nametree has empty nodes and ACS nodes,
- boolean 'is_empty' property for each node, false for the ACS node, which means that a non-empty node is an active entity (say, an ACS).
- boolean 'is_hub' property for each ACS, which means, if true, that any direct child of this node may have exchanges with any other direct child, if the rights allow them.
- 'VisibleSpace' is a mandatory ACS property, and the possible String values are NameISTree constants
- String 'is_authorization_server' as a Links property, which indicates an ACS which is an authorization server, which has methods to generate dynamic rigths on requests of a right source; then, the property 'is_running_on' may be true or not.
Note: couples of Strings to indicate couples (property, target_node_name) are possible in Links. IS nametrees have also components which are managed directly by BaseManagerImpl.
It is a javabean with the following bound properties: 'ISname', 'ParentName', 'HubProperty', 'VisibleSpace', 'ResourceTypes', 'EPTypes', 'TypesAndExplorerSet', 'SpecializedRightsSet', 'HavePrivilegeSpecializedRights', 'AssociationForNewObjectsMap', 'ARightsSet', 'GORightsSet', 'AclRightsSet', 'PrivilegeRightsSet', 'BridgeRightsSet', 'ManageResources', 'ManageResourceTrees', 'ManageAccounts', 'ManageGroupsOfAccounts', 'ManageGroupsOfGroups', 'ManageInternalAcls', 'ManageExternalAcls', 'ManageFlexibleConditionalAcls', 'ManageRightDefinedConditionalAcls', 'ManageActors', 'ManageBridges', 'ManageSecondaryGroupsForActor', 'ManageAGORight', 'ManageNxExecutables', 'ManageDirectoryEPs', 'ManagePrivilegeRights', 'ManageAcsRights', 'ManageMetaRights', 'VirtualFolders', 'ManageGrantRights', 'ManageDenyRights', 'TiedToParentACS', 'RunningOnParentACS', 'isRightServer', 'ComponentNodes', 'CompositeNodes', 'BelongsToComposite', 'SubAndGroupPolicy', 'Alternates', 'OpeningAndClosingRoots', 'OpeningNoClosingRoots', 'IntegrityRoots', 'Icon', 'CommentsOnProperties', 'ManageGrantingRightPrivileges', 'ManageDenyingRightPrivileges', 'ManageSimpleTypedPrivileges', 'ManageSimpleLinkedPrivileges', 'ManageResourceVirtualFolders', 'ManageEPVirtualFolders', 'ManageActorInEPVirtualFolders', 'ManageUserIDInEPVirtualFolders', 'ManageGroupIDInEPVirtualFolders', 'ManageSimpleResourceInResourceVirtualFolders', 'ManageDirectoryInResourceVirtualFolders', 'ManageDirectoryEPinEPVirtualFolders', 'ManageVirtualFolderTrees', 'OneTimeInVirtualFolderTreeForMember', 'IncompleteStructureModeling', 'IncompleteBehaviorModeling', 'PrivilegeForTypeTypes', 'PrivilegeForLinksTypes', 'ResVirtualFolderTypes', 'EPVirtualFolderTypes', 'AcsVocabulary', 'ManageACLRightInheritance', 'ManageAGORightInheritance', "ManageLPRIRightInheritance', 'ManagePrivilegesInVirtualFolders', 'ManagePrivilegesInResources', 'ManageOneTimeInVirtualFolderTreeForMember', 'ManageInternalHardAlias', 'ManageSoftAlias', 'ManageIfAllSourceLinkedPrivileges', 'ManageInternalForOneToOneLinkedPrivileges', 'ManageExternalForOneToOneLinkedPrivileges', 'ManageClassedTypedPrivileges', 'ManageClassedSpecificTypedPrivileges', 'ManageAuthorizationServerTypedPrivileges'.
This class has several subclasses in the AcsAddon packages. Most of the variables are protected.
ACSImplBeanInfo
Field Summary | |
---|---|
static java.lang.String |
A_RIGHTS_SET
for Account rights only, in m_StandardRights_ |
static java.lang.String |
ACL_RIGHTS_SET
|
static java.lang.String |
BDG_RIGHTS_SET
|
protected java.beans.PropertyChangeSupport |
changeSupport_
manages all the property change listeners |
protected java.lang.String |
comment_
|
protected static ACSFactoryImpl |
EMPTY_INSTANCE
A reusable empty instance for initialization, to avoid the use of 'new' for temporary values. |
static java.lang.String |
GO_RIGHTS_SET
for rights in m_StandardRights_ |
protected boolean |
havePrivilegeSpecializedRights_
true if some specialized rights have been set in the privilege rights; Not used in the GUI nor outside this class. |
protected java.lang.String |
icon_
The file name of the icon of the aCS in the beamer - selected at the creation or the beamer uses the default value. |
protected static int |
ICON_HEIGHT_MAX
|
protected static int |
ICON_WIDTH_MAX
|
protected javax.swing.ImageIcon |
imageIcon_
The image the user cannot set directly, and it is used by ActionNewACS to copy the image icon of an open ACS. |
private static int |
INITIAL_CAPACITY_25
|
private static int |
INITIAL_CAPACITY_5
|
protected boolean |
is_hub_
|
protected ImmutableName |
iSname_
|
protected StringRight[] |
l_AccountRightsSet_
|
protected StringRight[] |
l_AclRightsSet_
|
protected static java.lang.String[] |
l_AllowedACSInterfacesForSpecializedRights_
For the specialized rights. |
protected StringRight[] |
l_bridgeRightsSet_
|
private static java.lang.String[] |
L_EMPTY_ARRAY
|
private static StringRight[] |
L_EMPTY_ARRAY_2
|
protected java.lang.String[] |
l_epTypes_
|
protected java.lang.String[] |
l_epvfTypes_
|
protected StringRight[] |
l_GORightsSet_
|
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.lang.String[] |
l_privilegeForLinksTypes_
|
protected java.lang.String[] |
l_privilegeForTypeTypes_
|
protected java.lang.String[] |
l_resourceTypes_
|
protected java.lang.String[] |
l_resvfTypes_
|
protected StringRight[] |
l_Rights_
|
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_AcsVocabulary_
The ACS vocabulary defines several independant domains: - how to name the ACSFactoryUtilityImpl.L_ACS_TREE_GENERIC_UPPER_NODES constants for this ACS, as names of the ACS nodes in the proper ACS internal frame, - what are the gBase classes to use, since some generic classes may be subclassed in an AcsAddon gBase package (see ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS), - if the ACS is an AcsAddon, what are the specific new classes in the AcsAddon gBase package (see ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES). |
protected java.util.HashMap<ImmutableName,java.lang.String[]> |
m_alternateProperties_
Map of the alternates of the ACS or the subACS, if any, with all the associated properties. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_AssociationsForNewObjects_
Map of mandatory associations on the ACS new objects. |
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.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_ComponentNodes_
Map of physical and logical components under the ACS or its parent. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_CompositeNodes_
Map of the new composite nodes for the IS nametree, outside the current ACS creation in progress. |
protected java.util.HashMap<java.lang.String,StringRight[]> |
m_PrivilegeRights_
To define the privilege rights following their main type (standard rights) or second type (specialized rights) |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootsForAcsIntegrity_
The map key has the format ACS.Name. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootsForAcsOpeningAndClosing_
The map key has the format ACS.Name. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_RootsForAcsOpeningNoClosing_
The map key has the format ACS.Name. |
protected java.util.HashMap<java.lang.String,StringRight[]> |
m_SpecializedRights_
To extend or to reduce the standard rights following the target/source interface or type |
protected java.util.HashMap<java.lang.String,StringRight[]> |
m_StandardRights_
Map of restrictions on the ACS StringRight properties |
protected java.util.SortedMap<java.lang.String,java.lang.Boolean> |
m_Structure_
The active booleans which define the generic ACS structure and features. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_SubAndGroupPolicy_
Get the immutable subACSs and their dedicated nodes to display in the GUI. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
m_TypesAndExplorer_
Map of restrictions on the ACS general String properties. |
protected ImmutableName |
name_
|
protected Name |
parentName_
|
static java.lang.String |
PRI_RIGHTS_SET
|
private static int |
PRIME
|
static java.lang.String |
SPE_RIGHTS_SET
|
protected java.lang.String |
type_
|
protected java.lang.String |
visibleSpace_
|
Constructor Summary | |
---|---|
ACSFactoryImpl()
Default constructor |
|
ACSFactoryImpl(ImmutableName _iSname,
ImmutableName _name,
java.lang.String _ACStype,
ImmutableName _parentName)
Called by gDMak.ActionNewACSyst and gWork.AcsFactory. |
Method Summary | |
---|---|
void |
addAcsVocabulary(java.lang.String _criteria,
java.lang.String[] _l_values)
Sets an ACS vocabulary, without adding to the previous values which are deleted. |
void |
addAlternate(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds an alternate of the ACS or the subACS, if any, with all the associated properties. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
addAssociations(java.util.HashMap<java.lang.String,java.lang.String[]> _m_upd_Associations,
java.lang.String _criteria,
java.lang.String[] _l_values)
Adds one association to handle at the creation or the deletion of ACSObjects. |
void |
addAssociationsToNewObject(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds one association to handle at the creation or the deletion of ACSObjects in this ACS. |
void |
addBelongsToComposite(java.lang.String _criteria,
ImmutableName[] _l_values)
Links a composite node in the IS nametree to the ACS or to a subACS. |
void |
addCommentsOnProperties(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds some comments to explain how this ACS simulates a real system/software. |
void |
addComponentNode(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds some component nodes in the IS, from the new ACS node or from its parent. |
void |
addCompositeNode(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds a new composite node in the IS nametree. |
void |
addIntegrityRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds associations to set integrity root contraints in the parent ACSs. |
void |
addOpeningAndClosingRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds associations to create opening and closing roots in the parent ACSs. |
void |
addOpeningNoClosingRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds associations to create opening without closing roots in the parent ACSs. |
void |
addPrivilegeRights(java.lang.String _criteria,
StringRight[] _l_rights)
Adds some privilege rights constraints, to apply as standard or specialized rights to the privileges which have a given main type or a given second type. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener _l)
Adds 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. |
void |
addRight(StringRight _right)
Registers a new ACS right through the ACSpreFactoryBeanInfo or from gWork. |
void |
addSpecializedRights(java.lang.String _criteria,
StringRight[] _l_rights)
Adds some specialized rights to extend or to constrain the allowed values which are defined for each right type, as in setL_xxxRightsSet(). |
void |
addSubAndGroupPolicy(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds a subACS name and its mode (for Resources or for GroupIDs) or a root name for a groups tree, as a node to display in the explorer and the IS structure. |
void |
addTypesAndExplorer(java.lang.String _criteria,
java.lang.String[] _l_values)
Adds the values to manage the display in the explorer, or to set the type-oriented policy following the ACSObject type. |
java.lang.String |
checkACSbeforeCreation()
Controls the integrity of the ACS with all its arguments, before the call to ACSImpl.valueOf(). |
protected void |
controlRights(StringRight[] _s,
boolean _allowDeny)
Controls the right values for the acs, which have to be registered only if there are acsrights. |
ACSImpl |
createACS()
Creates the ACS with its structural arguments. |
protected ACSImpl |
createACSforGenericBase(ACSImpl _acs)
Sets the ACS structure and relations in its IS. |
boolean |
equals(java.lang.Object _obj)
Compare only the type and the name. |
protected void |
finalize()
This method removes the right from the ACS list, but there is no guaranee that the JVM calls this method before the end of the application. |
void |
finalizeForUser()
Closes the instance. |
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,... |
java.lang.String |
getComment()
|
StringRight |
getFirstRightFromMeta(java.lang.String _metaRight)
Gets a right which is registered by this ACS. |
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 |
getHubProperty()
Gets the hub property for the ACS node in the IS nametree. |
java.lang.String |
getIcon()
|
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()
|
ImmutableName |
getISName()
Gets the name of the information system which owns this acs. |
StringRight[] |
getL_AccountRightsSet()
Gets the allowed granting right values for the Account (an UserID). |
StringRight[] |
getL_AclRightsSet()
|
static java.lang.String[] |
getL_AllowedACSInterfacesForSpecializedRights()
Gets the allowed interfaces for the objects which are handled by an acs. |
StringRight[] |
getL_bridgeRightsSet()
|
java.util.List<java.lang.String> |
getL_currentAcsAndSubAcsNickNames()
Gets the current ACS and subACS name last compoents. |
java.lang.String[] |
getL_EPTypes()
Gets the allowed types for the EPs. |
java.lang.String[] |
getL_EPVirtualFolderTypes()
Gets the allowed types for the Eligible Party Virtual Folders. |
StringRight[] |
getL_GroupRightsSet()
Gets the allowed AGO right values for the groups. |
java.util.List<java.lang.String> |
getL_LimitedFirstValuesForAssociation(java.lang.String _key)
Gets the set of the authorized values for the first value of an association. |
java.util.List<java.lang.String> |
getL_LimitedValuesForAlternates(java.lang.String _key)
This method defines the alternate types, the right types for alternates and the options. |
java.util.List<ImmutableName> |
getL_LimitedValuesForBelongsToComposite(java.lang.String _key)
Gets the current composites in the IS, and adds the new composites that this instance will create. |
java.util.List<java.lang.String> |
getL_LimitedValuesForComponentNodes(java.lang.String _key)
Gets the values which are allowed by the program for a component node. |
java.util.List<java.lang.String> |
getL_LimitedValuesForCompositeNodes(java.lang.String _key)
Gets the values which are allowed by the program for a composite node. |
java.util.List<java.lang.String> |
getL_LimitedValuesForSubAndGroupPolicy(java.lang.String _key)
This method defines the subacs and the groups tree nodes in the GUI explorer. |
java.util.List<java.lang.String> |
getL_LimitedValuesForTypesAndExplorer(java.lang.String _key)
Gets the specialized types which are allowed by the program for a key in the types-and-explorer map and the group/node policy map. |
java.util.List<java.lang.String> |
getL_MapKeysForAcsVocabulary()
This method returns the allowed keys which are used as map keys for the ACS vocabulary. |
java.util.List<java.lang.String> |
getL_MapKeysForCommentsOnProperties()
This method returns the allowed keys which are used as map keys for comments on properties. |
java.util.List<java.lang.String> |
getL_MapKeysForPrivilegeRights()
This method returns the allowed keys for the standard and for the specialized privilege rights: - 'MainType.main type' for each of the 6 PrivilegeAbst main types, which sets the 6 keys 'PrivilegeRights.MainType.main type' for the standard rights in ACSImpl, - 'PFType/PFLink.PrvRightsSet.Type.second type' for the specialized rights, and there is a returned value for each typed privilege second type and each linked privilege second type. |
java.util.Set<java.lang.String> |
getL_MapKeysForTypePolicies()
This method returns the allowed keys which are used as map keys for specialized types and explorer values. |
java.util.List<java.lang.String> |
getL_MapKeysStartsForAlternates()
Gets the Alternate key startings with the ACS name last component or the subACS names, all ended with a point. |
java.util.List<java.lang.String> |
getL_MapKeysStartsForComponents()
This method returns the allowed values which is used as map key startings for component node values. |
java.lang.String[] |
getL_PrivilegeForLinksTypes()
Gets the allowed second types for the PrivilegeForLinks. |
java.lang.String[] |
getL_PrivilegeForTypeTypes()
Gets the allowed second types for the PrivilegeForTypes. |
java.lang.String[] |
getL_ResourceTypes()
Gets the allowed types for the resources. |
java.lang.String[] |
getL_ResourceVirtualFolderTypes()
Gets the allowed types for the Resource Virtual Folders. |
StringRight[] |
getL_Rights()
Gets all the acsrights which are allowed in this ACS. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_AcsVocabulary()
Gets an ACS vocabulary. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_Alternates()
Gets the alternates of the ACS or the subACS, if any, with all the associated properties. |
java.util.Map<java.lang.String,java.lang.String[]> |
getM_AssociationsOnNewObject()
Gets 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 tells the ACS or a subACS belongs to a Composite ACS in the IS Name Tree. |
java.util.Map |
getM_CommentsOnProperties()
Gets comments to explain how this ACS simulates a real system/software. |
java.util.Map |
getM_ComponentNodes()
Gets the new component nodes in the IS nametree. |
java.util.Map |
getM_CompositeNodes()
Gets the new composite nodes in the IS nametree. |
java.util.Map |
getM_IntegrityRoots()
Gets associations to set integrity root contraints in the parent ACSs. |
java.util.Map |
getM_OpeningAndClosingRoots()
Gets associations to create opening and closing roots in the parent ACSs, by the mean of actions to do by the program. |
java.util.Map |
getM_OpeningNoClosingRoots()
Gets associations to create opening without closing roots in the parent ACSs, by the mean of actions to do by the program. |
java.util.Map |
getM_PrivilegeRights()
Gets the privilege rights constraints, to apply as standard or specialized rights to the privileges which have a given main type or a given second type. |
java.util.Map |
getM_SpecializedRights()
Gets the specialized rights extending or constraining the allowed values which are defined for each right type, as in setL_xxxRightsSet(). |
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 |
getM_TypesAndExplorer()
Gets the specialized values to manage the display in the explorer, to set the allowed types and the group policy following the type. |
boolean |
getManageAccounts()
|
boolean |
getManageACLRightsInheritance()
|
boolean |
getManageAcsRights()
|
boolean |
getManageActorInEPVirtualFolders()
|
boolean |
getManageActors()
|
boolean |
getManageAGORights()
|
boolean |
getManageAGORightsInheritance()
|
boolean |
getManageAuthorizationServerTypedPrivileges()
|
boolean |
getManageBridges()
|
boolean |
getManageClassedSpecificTypedPrivileges()
|
boolean |
getManageClassedTypedPrivileges()
|
boolean |
getManageDenyingRightPrivileges()
|
boolean |
getManageDirectoryEPinEPVirtualFolders()
|
boolean |
getManageDirectoryEPs()
|
boolean |
getManageDirectoryInResourceVirtualFolders()
|
boolean |
getManageEPVirtualFolders()
|
boolean |
getManageExternalAcls()
|
boolean |
getManageExternalForOneToOneLinkedPrivileges()
|
boolean |
getManageFlexibleConditionalAcls()
|
boolean |
getManageGrantingRightPrivileges()
|
boolean |
getManageGroups()
|
boolean |
getManageGroupTrees()
Caution: the name of this method is confusing, because a collection of nested groups may be more than one single group tree. |
boolean |
getManageIfAllSourceLinkedPrivileges()
|
boolean |
getManageInternalAcls()
|
boolean |
getManageInternalForOneToOneLinkedPrivileges()
|
boolean |
getManageInternalHardAlias()
|
boolean |
getManageLPRIRightsInheritance()
|
boolean |
getManageMetaRights()
|
boolean |
getManageOneTimeInVirtualFolderTreeForMember()
|
boolean |
getManagePrivilegeRights()
|
boolean |
getManagePrivilegesInResources()
|
boolean |
getManagePrivilegesInVirtualFolders()
|
boolean |
getManageResources()
|
boolean |
getManageResourceTrees()
|
boolean |
getManageResourceVirtualFolders()
|
boolean |
getManageRightDefinedConditionalAcls()
|
boolean |
getManageSecGroupsForActor()
|
boolean |
getManageSimpleLinkedPrivileges()
|
boolean |
getManageSimpleResourceVirtualFolders()
|
boolean |
getManageSimpleTypedPrivileges()
|
boolean |
getManageSoftAlias()
Only an AcsAddon can manage the soft aliasing. |
boolean |
getManageVirtualFolderRightsPropagationToMembers()
|
boolean |
getManageVirtualFolders()
|
boolean |
getManageVirtualFolderTrees()
|
ImmutableName |
getName()
Gets the futur ACS name, including the IS name if any. |
java.lang.String |
getNickName()
This short name is NOT always unique for the Access Road program. |
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. |
ImmutableName |
getParentName()
Gets the optional parent name for the ACS in the IS nametree. |
java.util.Set<StringRight> |
getRightsInSpecializedRights()
The possible specialized rights. |
boolean |
getTiedToParentACS()
|
java.util.Set<java.lang.String> |
getTypesInSpecializedRights()
The possible specialized right types are 'AccRightsSet', 'GpORightsSet', 'AclRightsSet', 'BdgRightsSet'. |
java.lang.String |
getVisibleSpace()
Gets the visible space for the ACS in the IS nametree. |
int |
hashCode()
|
void |
initializeConstraintsAfterCreation(ACS _acs)
Initializes the ACS constraints maps, after the call to ACSImpl.valueOf(). |
void |
initializeConstraintsBeforeCreation()
Initializes the ACS constraints maps before the call to ACSImpl.valueOf(). |
protected void |
moveRight(StringRight _right)
Unregisters a right through the ACSpreFactoryBeanInfo. |
protected void |
newRight(StringRight _right)
Registers a new right through the ACSpreFactoryBeanInfo. |
void |
removeAcsVocabulary(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes an ACS vocabulary. |
void |
removeAlternate(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes an alternate of the ACS or the subACS, if any, with all the associated properties. |
protected java.util.HashMap<java.lang.String,java.lang.String[]> |
removeAssociations(java.util.HashMap<java.lang.String,java.lang.String[]> _m_upd_Associations,
java.lang.String _criteria,
java.lang.String[] _l_values)
Removes some associations to handle at the creation or the deletion of ACSObjects. |
void |
removeAssociationsToNewObject(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes some associations to handle at the creation or the deletion of ACSObjects. |
void |
removeBelongsToComposite(java.lang.String _criteria,
ImmutableName[] _l_values)
Removes the link to a composite node in the IS nametree to the ACS or to a subACS. |
void |
removeCommentsOnProperties(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes some comments to explain how this ACS simulates a real system/software. |
void |
removeComponentNode(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes a new component node in the IS nametree. |
void |
removeCompositeNode(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes a new component node in the IS nametree. |
void |
removeIntegrityRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes associations to set integrity root contraints in the parent ACSs. |
void |
removeOpeningAndClosingRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes associations to create opening and closing roots in the parent ACSs. |
void |
removeOpeningNoClosingRoots(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes associations to create opening without closing roots in the parent ACSs. |
void |
removePrivilegeRights(java.lang.String _criteria,
StringRight[] _l_rights)
Removes some privilege rights constraints, to apply as standard or specialized rights to the privileges which have a given main type or a given second type. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener _l)
Removes a listener to the bean, for all the bound properties. |
void |
removePropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _l)
Removes a listener to the bean. |
void |
removeRight(StringRight _right)
Unregisters a right through the ACSpreFactoryBeanInfo. |
void |
removeSpecializedRights(java.lang.String _criteria,
StringRight[] _l_rights)
Removes some specialized rights. |
void |
removeSubAndGroupPolicy(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes a subACS or a groups tree node, and its dedicated node in the explorer. |
void |
removeTypesAndExplorer(java.lang.String _criteria,
java.lang.String[] _l_values)
Removes some specialized values to manage the display in the explorer, to set the allowed types and the group policy following the type. |
void |
setComment(java.lang.String _s)
Set any comment related to this acs. |
void |
setEorIcon(javax.swing.ImageIcon _icon)
|
void |
setHubProperty(boolean _is_hub)
Sets the optional hub property for the ACS in the IS nametree. |
void |
setIcon(java.lang.String _icon)
Sets the ACS icon. |
void |
setIncompleteBehaviorModeling(boolean _b)
|
void |
setIncompleteStructureModeling(boolean _b)
Note: if the structure map does not contain the key 'access metarule: incomplete modeling of the ACS structure', this method throws a NullPointerException. |
void |
setIsAuthorizationServer(boolean _b)
|
void |
setISName(ImmutableName _name)
Sets the name of the information system which owns this acs. |
void |
setL_AccountRightsSet(StringRight[] _s)
Sets the allowed granting right values for the Account (an UserID). |
void |
setL_AclRightsSet(StringRight[] _s)
Sets the fixed set of rights for the AclEntries. |
void |
setL_bridgeRightsSet(StringRight[] _s)
Sets the allowed right values for the bridges from actors to other ACS. |
void |
setL_EPTypes(java.lang.String[] _s)
Sets the types for the EPs, but it is not mandatory. |
void |
setL_EPVirtualFolderTypes(java.lang.String[] _s)
Sets the types for the Eligible Party VirtualFolders, but it is not mandatory. |
void |
setL_GroupRightsSet(StringRight[] _s)
Sets the allowed granting right values for the AGO Group rights. |
void |
setL_PrivilegeForLinksTypes(java.lang.String[] _s)
Sets the second types for the PrivilegeForLinks, but it is not mandatory. |
void |
setL_PrivilegeForTypeTypes(java.lang.String[] _s)
Sets the second types for the PrivilegeForTypes, but it is not mandatory. |
void |
setL_ResourceTypes(java.lang.String[] _s)
Sets the types for the resources, but it is not mandatory. |
void |
setL_ResourceVirtualFolderTypes(java.lang.String[] _s)
Sets the types for the Resource VirtualFolders, but it is not mandatory. |
void |
setManageAccounts(boolean _b)
|
void |
setManageACLRightsInheritance(boolean _b)
|
void |
setManageAcsRights(boolean _b)
|
void |
setManageActorInEPVirtualFolders(boolean _b)
|
void |
setManageActors(boolean _b)
|
void |
setManageAGORights(boolean _b)
|
void |
setManageAGORightsInheritance(boolean _b)
|
void |
setManageAuthorizationServerTypedPrivileges(boolean _b)
|
void |
setManageBridges(boolean _b)
|
void |
setManageClassedSpecificTypedPrivileges(boolean _b)
|
void |
setManageClassedTypedPrivileges(boolean _b)
|
void |
setManageDenyingRightPrivileges(boolean _b)
|
void |
setManageDirectoryEPinEPVirtualFolders(boolean _b)
|
void |
setManageDirectoryEPs(boolean _b)
|
void |
setManageDirectoryInResourceVirtualFolders(boolean _b)
|
void |
setManageEPVirtualFolders(boolean _b)
|
void |
setManageExternalAcls(boolean _b)
|
void |
setManageExternalForOneToOneLinkedPrivileges(boolean _b)
May be true if the privileges are managed but all the other privilege features are not managed, to allow an own component in the privilege of another ACS. |
void |
setManageFlexibleConditionalAcls(boolean _b)
|
void |
setManageGrantingRightPrivileges(boolean _b)
|
void |
setManageGroups(boolean _b)
|
void |
setManageGroupTrees(boolean _b)
Caution: the name of this method is confusing, because a collection of nested groups may be more than one single group tree. |
void |
setManageIfAllSourceLinkedPrivileges(boolean _b)
|
void |
setManageInternalAcls(boolean _b)
|
void |
setManageInternalForOneToOneLinkedPrivileges(boolean _b)
|
void |
setManageInternalHardAlias(boolean _b)
|
void |
setManageLPRIRightsInheritance(boolean _b)
|
void |
setManageMetaRights(boolean _b)
|
void |
setManageOneTimeInVirtualFolderTreeForMember(boolean _b)
|
void |
setManagePrivilegeRights(boolean _b)
|
void |
setManagePrivilegesInResources(boolean _b)
|
void |
setManagePrivilegesInVirtualFolders(boolean _b)
|
void |
setManageResources(boolean _b)
|
void |
setManageResourceTrees(boolean _b)
|
void |
setManageResourceVirtualFolders(boolean _b)
|
void |
setManageRightDefinedConditionalAcls(boolean _b)
|
void |
setManageSecGroupsForActor(boolean _b)
|
void |
setManageSimpleLinkedPrivileges(boolean _b)
|
void |
setManageSimpleResourceVirtualFolders(boolean _b)
|
void |
setManageSimpleTypedPrivileges(boolean _b)
|
void |
setManageSoftAlias(boolean _b)
Only an AcsAddon can manage the soft aliasing. |
void |
setManageVirtualFolderRightsPropagationToMembers(boolean _b)
|
void |
setManageVirtualFolders(boolean _b)
|
void |
setManageVirtualFolderTrees(boolean _b)
|
void |
setParentName(ImmutableName _name)
Sets the parent name for the ACS in the IS nametree. |
void |
setTiedToParentACS(boolean _b)
Sets if the new ACS is tied to its ACS parent or not. |
void |
setVisibleSpace(java.lang.String _visibleSpace)
Set the visible space for the ACS in the IS nametree. |
java.lang.String |
toString()
Gets the name last component of the instance. |
Methods inherited from class java.lang.Object |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String A_RIGHTS_SET
public static final java.lang.String GO_RIGHTS_SET
public static final java.lang.String ACL_RIGHTS_SET
public static final java.lang.String PRI_RIGHTS_SET
public static final java.lang.String BDG_RIGHTS_SET
public static final java.lang.String SPE_RIGHTS_SET
private static final int PRIME
private static final int INITIAL_CAPACITY_25
private static final int INITIAL_CAPACITY_5
private static final StringRight[] L_EMPTY_ARRAY_2
private static final java.lang.String[] L_EMPTY_ARRAY
protected static final int ICON_HEIGHT_MAX
protected static final int ICON_WIDTH_MAX
protected static java.lang.String[] l_AllowedACSInterfacesForSpecializedRights_
protected ImmutableName name_
protected java.lang.String type_
protected java.lang.String comment_
protected ImmutableName iSname_
protected Name parentName_
protected boolean is_hub_
protected java.lang.String visibleSpace_
protected java.lang.String[] l_resourceTypes_
protected java.lang.String[] l_epTypes_
protected java.lang.String[] l_resvfTypes_
protected java.lang.String[] l_epvfTypes_
protected java.lang.String[] l_privilegeForTypeTypes_
protected java.lang.String[] l_privilegeForLinksTypes_
protected StringRight[] l_AccountRightsSet_
protected StringRight[] l_GORightsSet_
protected StringRight[] l_AclRightsSet_
protected StringRight[] l_bridgeRightsSet_
protected StringRight[] l_Rights_
protected java.util.HashMap<java.lang.String,StringRight[]> m_PrivilegeRights_
protected boolean havePrivilegeSpecializedRights_
protected java.util.SortedMap<java.lang.String,java.lang.Boolean> m_Structure_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_AssociationsForNewObjects_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_TypesAndExplorer_
protected java.util.HashMap<java.lang.String,StringRight[]> m_StandardRights_
protected java.util.HashMap<java.lang.String,StringRight[]> m_SpecializedRights_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootsForAcsOpeningAndClosing_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootsForAcsOpeningNoClosing_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_RootsForAcsIntegrity_
protected java.util.List<java.lang.String> l_ImmutableRules_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_SubAndGroupPolicy_
'Resources', 'UserIDs' and 'GroupIDs'.
For instance, 'Resources' means that a node ACSTree.RESOURCES has to be displayed directly under the subACS node, in the explorer.
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.
The returned map through the dedicated method is not exactly this property,
since it is a Map
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_ComponentNodes_
'physical' and 'logical'.
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_CompositeNodes_
'acs', 'acs.authorization_server' and 'subacs'.
protected java.util.HashMap<ImmutableName,java.lang.String[]> m_alternateProperties_
The value is an array which may contain the following values:
- exactly one value among the types in ISFactoryUtilityImpl.getAlternateTypes(),
- one or several right types, among the 3 in ISFactoryUtilityImpl,
- as options, the values OPTIONAL_ALTERNATE and OPTIONAL_GROUND in ISFactoryUtilityImpl.
Then, the values array lenght is from 2 to 6. The returned map through the dedicated method is not exactly this property, since it is a Map<String, String[]>. <GeneralCriterion>
protected java.lang.String icon_
protected javax.swing.ImageIcon imageIcon_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_CommentsOnProperties_
protected java.util.HashMap<java.lang.String,java.lang.String[]> m_AcsVocabulary_
- how to name the ACSFactoryUtilityImpl.L_ACS_TREE_GENERIC_UPPER_NODES constants for this ACS, as names of the ACS nodes in the proper ACS internal frame,
- what are the gBase classes to use, since some generic classes may be subclassed in an AcsAddon gBase package (see ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS),
- if the ACS is an AcsAddon, what are the specific new classes in the AcsAddon gBase package (see ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES). The default value is ACSFactoryUtilityImpl.M_GENERIC_ACS_VOCABULARY, but some of its keys are removed if the ACS does not use the associated classes. Caution: UtilityImpl.getACSVocabularyFromArrayOrInterface() reads this property from an instance created through an empty constructor of this class or one of its subclass.
ACSFactoryUtilityImpl.M_GENERIC_ACS_VOCABULARY
protected transient java.beans.PropertyChangeSupport changeSupport_
protected static ACSFactoryImpl EMPTY_INSTANCE
Constructor Detail |
---|
public ACSFactoryImpl()
public ACSFactoryImpl(ImmutableName _iSname, ImmutableName _name, java.lang.String _ACStype, ImmutableName _parentName) throws BaseError
_iSname
- the name of the IS containing this new ACS. May be null, and
ISFactoryUtilityImpl.DEFAULT_IS_NAME is then set as IS name and it is created
BaseManagerImpl._name
- the name of the new ACS. Never null._ACStype
- the ACS type. Never null._parentName
- the parent of this new ACS. No use if _iSname is null.
Otherwise, it has to contain the IS name.
BaseError
- if _type is null, _parentName does not start with _iSname.Method Detail |
---|
public ACSImpl createACS() throws BaseError
Before the ACS creation, calls initializeConstraintsBeforeCreation(), and computes the ACS policy checksum to add to type_. The checksum is computed from the hashcodes of all the values into the properties m_Structure_, m_TypesAndExplorer_, m_AssociationsForNewObjects_, m_StandardRights_, m_SpecializedRights_ and m_SubAndGroupPolicy_. The ACS type ends with ' | checksum'. Calls createACSforGenericBase() to set the ACS structure and relations in its IS. The ACSFactory instance is finalized at the end of createACSforGenericBase(). Overridden by the AcsAddon ACSFactory subclasses.
BaseError
- if the integrity rules are not followed (with the list of
all the user errors, including up to 2500 words when all the rules
are unmatched), if the ACS is already known by BaseManagerImpl.protected ACSImpl createACSforGenericBase(ACSImpl _acs) throws BaseError
_acs
- new ACS to configure
BaseError
- if the integrity rules are not followed (with the list
of all the user errors, including up to 2500 words when all the rules
are unmatched), if the ACS is already known by BaseManagerImpl.public java.lang.String checkACSbeforeCreation()
public java.lang.String getComment()
public void setComment(java.lang.String _s)
_s
- comment which is associated to the acs.public java.util.Set<java.lang.String> getTypesInSpecializedRights()
public java.util.Set<StringRight> getRightsInSpecializedRights()
public void initializeConstraintsBeforeCreation()
Each map key is a String of ACSObject class interface (like Resource) ended by a bound property name (like ResourceType), with '.' as separator. For m_StandardRights_, each map key includes 'Rights' to facilitate BaseUtilityImpl.getL_AcsRestrictedValues().
The m_TypesAndExplorer_ key 'Actor.ResourceType' is defined, if Actors are managed, as the types being both into the Resource and the EligibleParty types. If one of these two type sets is empty, the other set is simply copied for having the Actor set.
Caution: The design of these ACS constraints has to take account that BaseUtilityImpl.getL_AcsRestrictedValues() detects the correct key to apply after a search among all the interfaces of the ACSObject, and this search is done without any order. The only exception is for Actor that is selected before Resource. Since the first matching key is used to get the constraints, it is not possible to guaranty the continuity of results if two keys are applicable in the map for a given object. Called by createACS(). Calls ACSFactoryUtilityImpl.getAcsImmutableRules().
public void initializeConstraintsAfterCreation(ACS _acs) throws BaseError
_acs
- to initialize just after its creation
BaseError
- if thrown by the Directory constructor.public final java.lang.String[] getL_ResourceTypes()
public void setL_ResourceTypes(java.lang.String[] _s)
_s
- is the array of allowed types.
May be null or contain one null element.public void setHubProperty(boolean _is_hub)
_is_hub
- is the hub propertypublic void setVisibleSpace(java.lang.String _visibleSpace)
_visibleSpace
- is the visible space from the ACS in the IS nametree.
Has to be a NameISTreeImpl constant.public final java.lang.String[] getL_EPTypes()
public void setL_EPTypes(java.lang.String[] _s)
_s
- allowed types. May be null or contain one null element.public final java.lang.String[] getL_ResourceVirtualFolderTypes()
public final java.lang.String[] getL_EPVirtualFolderTypes()
public void setL_ResourceVirtualFolderTypes(java.lang.String[] _s)
_s
- String[] of types.
May be null or contain one null element.public void setL_EPVirtualFolderTypes(java.lang.String[] _s)
_s
- String[] of types.
May be null or contain one null element.public final java.lang.String[] getL_PrivilegeForTypeTypes()
public void setL_PrivilegeForTypeTypes(java.lang.String[] _s)
_s
- String[] of types.
May be null or contain one null element.public final java.lang.String[] getL_PrivilegeForLinksTypes()
public void setL_PrivilegeForLinksTypes(java.lang.String[] _s)
_s
- String[] of types.
May be null or contain one null element.public ImmutableName getFullName()
getFullName
in interface BaseObject
public final ImmutableName getName()
getName
in interface BaseObject
public java.lang.String getNickName()
getNickName
in interface BaseObject
public java.lang.String getACSType()
getACSType
in interface ACSRun
public boolean getIncompleteStructureModeling()
public void setIncompleteStructureModeling(boolean _b)
_b
- true if the modeling of the ACS structure is incomplete.public boolean getIncompleteBehaviorModeling()
public void setIncompleteBehaviorModeling(boolean _b)
_b
- true if the modeling of the ACS behavior is incomplete.public boolean getManageResources()
public void setManageResources(boolean _b)
_b
- true if the resources are managed.public boolean getManageResourceTrees()
public void setManageResourceTrees(boolean _b)
_b
- true if the resource directories are managed.public boolean getManageAccounts()
public void setManageAccounts(boolean _b)
_b
- true if the accounts are managed.public boolean getManageGroups()
public void setManageGroups(boolean _b)
_b
- true if the groups of accounts are managed.public boolean getManageGroupTrees()
public void setManageGroupTrees(boolean _b)
_b
- true if the nested groups are managed.public boolean getManageInternalAcls()
public void setManageInternalAcls(boolean _b)
_b
- true if the internal acl entries are managed.public boolean getManageExternalAcls()
public void setManageExternalAcls(boolean _b)
_b
- true if the external acl entries are managed.public boolean getManageFlexibleConditionalAcls()
public void setManageFlexibleConditionalAcls(boolean _b)
_b
- true if the flexible conditional AclEntries are managed.public boolean getManageRightDefinedConditionalAcls()
public void setManageRightDefinedConditionalAcls(boolean _b)
_b
- true if the right-defined conditional AclEntries are managed.public boolean getManageACLRightsInheritance()
public void setManageACLRightsInheritance(boolean _b)
_b
- true if the aclentry rights inheritance from the parent are managed.public boolean getManageActors()
public void setManageActors(boolean _b)
_b
- true if the actors are managed.public boolean getManageBridges()
public void setManageBridges(boolean _b)
_b
- true if the ACS bridges are managed.public boolean getManageSecGroupsForActor()
public void setManageSecGroupsForActor(boolean _b)
_b
- true if the secondary groups for actors are managed.public boolean getManageAGORights()
public void setManageAGORights(boolean _b)
_b
- true if the Account/Group rights are managed.public boolean getManageAGORightsInheritance()
public void setManageAGORightsInheritance(boolean _b)
_b
- true if the Account/Group rights inheritance from the parent are managed.public boolean getManageDirectoryEPs()
public void setManageDirectoryEPs(boolean _b)
_b
- true if the directoryEP are managed.public boolean getManagePrivilegeRights()
public void setManagePrivilegeRights(boolean _b)
_b
- true if the privilege rights are managed.public boolean getManageSimpleLinkedPrivileges()
public void setManageSimpleLinkedPrivileges(boolean _b)
_b
- true if the simple linked privilege rights are managed.public boolean getManageSimpleTypedPrivileges()
public void setManageSimpleTypedPrivileges(boolean _b)
_b
- true if the simple typed privilege rights are managed.public boolean getManageGrantingRightPrivileges()
public void setManageGrantingRightPrivileges(boolean _b)
_b
- true if the granting rights in privileges are managed.public boolean getManageDenyingRightPrivileges()
public void setManageDenyingRightPrivileges(boolean _b)
_b
- true if the denying rights in privileges are managed.public boolean getManagePrivilegesInResources()
public void setManagePrivilegesInResources(boolean _b)
_b
- true if the privilege rights in Resources are managed.public boolean getManagePrivilegesInVirtualFolders()
public void setManagePrivilegesInVirtualFolders(boolean _b)
_b
- true if the privilege rights in VirtualFolders are managed.public boolean getManageLPRIRightsInheritance()
public void setManageLPRIRightsInheritance(boolean _b)
_b
- true if the linked privilege rights inheritance from the parent are managed.public boolean getManageIfAllSourceLinkedPrivileges()
public void setManageIfAllSourceLinkedPrivileges(boolean _b)
_b
- true if the if-all-sources linked privilege rights are managed.public boolean getManageInternalForOneToOneLinkedPrivileges()
public void setManageInternalForOneToOneLinkedPrivileges(boolean _b)
_b
- true if the internal for-one-to-one linked privilege rights are managed.public boolean getManageExternalForOneToOneLinkedPrivileges()
public void setManageExternalForOneToOneLinkedPrivileges(boolean _b)
_b
- true if the external one-to-one linked privilege rights are managed
as inner privileges or as privileges of another ACS.public boolean getManageClassedTypedPrivileges()
public void setManageClassedTypedPrivileges(boolean _b)
_b
- true if the classed typed privilege rights are managed.public boolean getManageClassedSpecificTypedPrivileges()
public void setManageClassedSpecificTypedPrivileges(boolean _b)
_b
- true if the classed specific typed privilege rights are managed,
for designated source and target.public boolean getManageAuthorizationServerTypedPrivileges()
public void setManageAuthorizationServerTypedPrivileges(boolean _b)
_b
- true if the typed privilege rights for authorization servers are managed.public boolean getManageVirtualFolders()
public void setManageVirtualFolders(boolean _b)
_b
- true if the virtual folders are managed.public boolean getManageResourceVirtualFolders()
public void setManageResourceVirtualFolders(boolean _b)
_b
- true if the virtual folders of resources are managed.public boolean getManageEPVirtualFolders()
public void setManageEPVirtualFolders(boolean _b)
_b
- true if the virtual folders of eligible parties are managed.public boolean getManageSimpleResourceVirtualFolders()
public void setManageSimpleResourceVirtualFolders(boolean _b)
_b
- true if the virtual folders of simple resources are managed.public boolean getManageDirectoryInResourceVirtualFolders()
public void setManageDirectoryInResourceVirtualFolders(boolean _b)
_b
- true if resource virtual folders manage directories are managed.public boolean getManageDirectoryEPinEPVirtualFolders()
public void setManageDirectoryEPinEPVirtualFolders(boolean _b)
_b
- true if the virtual folders of resources manage actors.public boolean getManageActorInEPVirtualFolders()
public void setManageActorInEPVirtualFolders(boolean _b)
_b
- true if the virtual folders of eligible parties manage actors.public boolean getManageVirtualFolderTrees()
public void setManageVirtualFolderTrees(boolean _b)
_b
- true if the virtual folder trees are managed for the ACS.public boolean getManageOneTimeInVirtualFolderTreeForMember()
public void setManageOneTimeInVirtualFolderTreeForMember(boolean _b)
_b
- true if a member is no more than one time in each virtual folder tree.public boolean getManageVirtualFolderRightsPropagationToMembers()
public void setManageVirtualFolderRightsPropagationToMembers(boolean _b)
_b
- true if a virtual folder propagates its target rights to all its members.public boolean getManageSoftAlias()
public void setManageSoftAlias(boolean _b)
_b
- true if the acs manages the external soft aliasespublic boolean getManageInternalHardAlias()
public void setManageInternalHardAlias(boolean _b)
_b
- true if the acs manages the internal hard aliasespublic boolean getTiedToParentACS()
public void setTiedToParentACS(boolean _b) throws UpDateError
_b
- true if the acs is tied to its parent acs.
UpDateError
- if:- _b true when the parent is not an ACS, in the IS.
public boolean getIsAuthorizationServer()
public void setIsAuthorizationServer(boolean _b)
_b
- true if the acs is an authorization server as a LDAP directory.public boolean getManageAcsRights()
public void setManageAcsRights(boolean _b)
_b
- true if the acs manages ACS rights (it may manage metarights too).public boolean getManageMetaRights()
public void setManageMetaRights(boolean _b)
_b
- true if the acs manages metarights (it may manage ACS rights too).public final ImmutableName getISName()
getISName
in interface ACSRun
public final void setISName(ImmutableName _name)
_name
- the IS name. May be empty or null.public ImmutableName getParentName()
getParentName
in interface ACSRun
public void setParentName(ImmutableName _name)
_name
- the parent name. May be null or empty.public boolean getHubProperty()
public java.lang.String getVisibleSpace()
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().
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
Note: The NoThanViewInBases use StringRight.compareTo() between the rights. The right internal key is the first compared property if the rights have the same sens. Thus, a NoThanViewInBase may detect its criterion right is not fulfilled while the effective right has no direct path to the criterion right, in the network of rights. This behavior of NoThanViewInBase shows the need to set a consistent network of rights, including well-chosen internal keys.
The user don't register the metarights through this method. Metarights are added by initializeConstraints() which calls this method before the ACS creation. Not used through ACSFactoryBeanInfo. 'OneAcsRight' is a bound property. Calls newRight().
addRight
in interface ACSRun
_right
- is the new acsright to register. Not null.
CreateError
- if the right is null, a metaright or if
the right is already used.public void removeRight(StringRight _right) throws UpDateError
removeRight
in interface ACSRun
_right
- is the right to unregister.
UpDateError
- if the folder is null or not known.public void setL_GroupRightsSet(StringRight[] _s) throws UpDateError
_s
- is an array of rights.
Not null, no null elements, but may be a 0-length array nor negative rights.
UpDateError
- if _s is null, if the GO rights are not allowed, or if
there is no fixed set of rights in this acspublic final StringRight[] getL_GroupRightsSet()
public void setL_AccountRightsSet(StringRight[] _s) throws UpDateError
_s
- is an array of rights for the UserID which owns this resource,
in the main ACS.
Not null, no null or negative right, but may be a 0-length array.
UpDateError
- if _s is null, if the AGO rights are not allowed, or if
there is no fixed set of rights in this acspublic final StringRight[] getL_AccountRightsSet()
public static final java.lang.String[] getL_AllowedACSInterfacesForSpecializedRights()
public void addSpecializedRights(java.lang.String _criteria, StringRight[] _l_rights) throws UpDateError
The criteria is a quartet of Strings. 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'
The object is Target or Source to indicate that these rights are for the target (or source) which has the correct interface or type.
The domain may be one of the right categories: 'AccRightsSet' for Target only, 'GpORightsSet' for Target only, 'AclRightsSet', 'BdgRightsSet', 'RooRightsSet' for Source and Target.
The subdomain is 'Interface' or 'Type' to indicate that the subkey belongs to one of these categories.
The subkey is an interface name or an EligibleParty type (or Resource type if Target), for which the specialized rights have to be used.
Caution: addPrivilegeRights() define the specialized rights for privileges. These privilege specialized rights never change this current property. A right may be not registered in getL_Rights(). Fires PropertyChanges for 'SpecializedRightsSet'.
_criteria
- is the map key to apply these specialized rights._l_rights
- is a StringRights array, from the correct ACS, which contain
the specialized rights for the criteria. They are added to the previous rights, if any.
Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null, unknown or does not end with '<undefined>',
- a StringRight is not from the ACS.
public void removeSpecializedRights(java.lang.String _criteria, StringRight[] _l_rights) throws UpDateError
- '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'
Fires a PropertyChange for 'SpecializedRightsSet'. The criteria is not removed from the map if the rights argument contains all the current rights which is associated to the criteria. A removed type is not removed from the relevant types list, even if it has been added in the list by addSpecializedRights().
_criteria
- for the relevant specialized rights._l_rights
- StringRights array which contain only
the specialized rights to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_rights is null or one right is null
- a right in _l_rights is not registered.
public final java.util.Map getM_SpecializedRights()
- 'Target.allRights.Interface.Directory', for all rights when the target is a Directory instance
- 'Target.AccRights.Type.script', for Account rights when the target has the type 'script'
- 'Source.AclRights.Type.group', for ACL rights when the source has the type 'group'
The object is Target or Source to indicate that these rights are for the target (or source) which has the correct interface or type.
The domain may be one of the right categories: 'AccRightsSet' for Target only, 'GpORightsSet' for Target only, 'AclRightsSet' for Target only, 'PrvRightsSet', 'BdgRightsSet', 'RooRightsSet' for root.
The subdomain is 'Interface' or 'Type' to demand that the subkey belongs to one of these categories.
The subkey is an interface name or an EligibleParty type (or Resource type if Target), for which the specialized rights have to be used.
Caution: getM_PrivilegeRights() may also return some ACS specialized rights, which will be set in the new ACS. These privilege specialized rights are independant to this current property. A right may be not registered in getL_Rights().
public void addTypesAndExplorer(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
This includes all the keys for the ACSImpl property m_TypesAndGUIPolicy_, excepted for the five keys 'ResourceType', 'EPType', 'VirtualFolderType', 'PrivilegeForTypeType', 'PrivilegeForLinksType'. This also includes all the items to put in the ACS property m_TypeOrientedPolicy_.
The key word 'immutable' is forbidden in the type of a triplet, since all the policy is applied without this key word. See the addSubAndGroupPolicy method about the specific handling of the keys 'Explorer.SubAcsNode' and 'Explorer.AcsGroupTree'. See the initializeConstraintsBeforeCreation method about the handling of the key 'CreationByBeamer.NoType' to manage all the current 'byAcsCreator' types.
Fires property changes for 'TypesAndExplorerSet'.
_criteria
- the map key to apply these specialized values._l_values
- String array which contain
the specialized values for the criteria. May be already known.
They are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed.
ACSFactoryUtilityImpl.getL_LimitedValuesForTypesAndExplorer(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void removeTypesAndExplorer(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
Fires a PropertyChange for 'TypesAndExplorerSet'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria.
_criteria
- for the relevant specialized values._l_values
- Strings array which contain only
the specialized values to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is unknown.
public final java.util.Map getM_TypesAndExplorer()
public java.util.Set<java.lang.String> getL_MapKeysForTypePolicies()
Called by SimplePropertyEditor.getRestrictedValues() from the ACSFactoryImplBeanInfo specification for StringMapPropertyEditor, and by addTypesAndExplorer(). The key word 'immutable' may be in an ACSObject type, but it is never used in the keys for type policies.
The 35 key forms (key.subkey) or (key.subkey.type) are listed hereafter:
- 'Explorer.NoAcsNode',
- 'Explorer.SubAcsNode',
- 'Explorer.AcsGroupTree',
- 'CreationByBeamer.NoType',
- 'GroupIDMember.NoMemberOf',
- 'GroupIDMember.IsNotConditionalAclSource',
- 'GroupID.NoPrimaryGroup',
- 'GroupID.NoMainGroup',
- 'GroupID.NoSecondaryGroup',
- 'GroupID.MemberFromAdmin',
- 'GroupID.NoUserIDAsMember',
- 'GroupID.NoGroupIDAsMember',
- 'GroupID.NoMoreThanOneMember',
- 'GroupID.ConditionalAclGroup',
- 'Resource.OneRightACL',
- 'Resource.NoAccount',
- 'Resource.NoConditionalACL',
- 'Resource.NoNonConditionalACL',
- 'Resource.OneConditionGroupInACL',
- 'Actor.NoCurrentAccount',
- 'Actor.NoCurrentGroup',
- 'Actor.NoNullCurrentAccount',
- 'Actor.IsNotBridgeTarget',
- 'Actor.IsNotBridgeSource',
- 'Actor.IsNotConditionalAclSource',
The following keys are always ended by an allowed type:
- 'GroupID.TypesOfMemberFor.'type for EligibleParty',
- 'GroupIDMember.NoMoreThanOneGroup.'type of groupIDmember',
- 'GroupIDMember.RecommandedGroupsAsMember.'type of groupIDmember',
- 'Directory.TypesOfChildFor.'type of Resource or NULL',
- 'VirtualFolder.TypesOfChildFor.allowed_VirtualFolder_type or NULL',
- 'Resource.SecondTypesOfPrivilegeFor.allowed_Resource_type',
- 'EligibleParty.SecondTypesOfPrivilegeFor.allowed_EligibleParty_type',
- 'VirtualFolder.SecondTypesOfPrivilegeFor.allowed_VirtualFolder_type',
- 'Resource.TypesOfSourceForConditionalACL.allowed_Resource_type'.
Calls BaseUtilityImpl.getObjectTypeWithoutImmutable().
ACSImpl.getM_TypesAndGUIPolicy()
,
getL_LimitedValuesForTypesAndExplorer(java.lang.String)
public final java.util.List<java.lang.String> getL_LimitedValuesForTypesAndExplorer(java.lang.String _key)
_key
- for the constrained values
ACSFactoryUtilityImpl.getL_LimitedValuesForTypesAndExplorer(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void addAssociationsToNewObject(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
This method provides an assistance to the user to build up a valid set of actions with the proper commands and arguments. See addAssociations() for understanding the complex logic. The control of types in the keys implies that this editor must be called by the user after the definition of the Resource and EligibleParty types in the acs. Most of the keys are totally checked, except the keys 'Resource.ParentNode.<Value>.'. The format is fully described at AssociateUtilityImpl.controlAssociations(). Calls the addAssociations method for the main work. Fires PropertyChanges for 'AssociationForNewObjectsMap'.
_criteria
- is the map key to apply these associations_l_values
- a Strings array which contain the values for the criteria,
but without the action number 'N.'. Values are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- a value is not allowed.
AssociateUtilityImpl.getL_MapKeyStartsForAssociationsOnNewObject()
,
AssociationMapPropertyEditor
public void removeAssociationsToNewObject(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
_criteria
- is the map key to apply these associations_l_values
- a Strings array which contain the values for the criteria,
with an action number 'N.' or not. Null to remove the criteria. May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_values is null or one value is null
- a value is unknown
- items in _l_lvalues are not in a sequence in the current values array.
AssociateUtilityImpl.controlAssociations(ARoad0.gBase.ACSFactoryImpl, java.util.HashMap, java.lang.String, java.lang.String[], boolean)
public final java.util.Map<java.lang.String,java.lang.String[]> getM_AssociationsOnNewObject()
getM_AssociationsOnNewObject
in interface ACSRun
AssociateUtilityImpl.controlAssociations(ARoad0.gBase.ACSFactoryImpl, java.util.HashMap, java.lang.String, java.lang.String[], boolean)
public final java.util.List<java.lang.String> getL_LimitedFirstValuesForAssociation(java.lang.String _key)
_key
- for the constrained values. The single workable value is 'ForChildACS'.
AssociateUtilityImpl.getL_LimitedFirstValuesForAssociation(java.lang.String)
public void setL_AclRightsSet(StringRight[] _s) throws UpDateError
_s
- is an array of access rights for the AclEntries,
in the main ACS. Not null, no null element, but may be a 0-length array.
UpDateError
- if _s or one element is null, if the ACL rights are not allowed,
or if there is no fixed set of rights for this acspublic final StringRight[] getL_AclRightsSet()
public void addPrivilegeRights(java.lang.String _criteria, StringRight[] _l_rights) throws UpDateError
- 'MainType.main type' for each of the 7 PrivilegeAbst main types, which sets the 7 keys 'PrivilegeRights.MainType.main type' for the standard rights in ACSImpl,
- 'PFType/PFLink.SecondType.second type' for the specialized rights, and there is a returned value for each typed privilege second type and each linked privilege second type.
Note: this version manages only simple privileges (TYPED and LINKED types), and the 5 other main types produce an exception. A right may be not registered in getL_Rights(). Calls ACSFactoryUtilityImpl.getL_MapKeysForPrivilegeRights(). Fires PropertyChanges for 'PrivilegeRightsSet' and 'HavePrivilegeSpecializedRights'.
_criteria
- is the map key to apply these rights._l_rights
- is a StringRights array, from the correct ACS, which contain
the new rights for the criteria. They are added to the previous rights, if any.
Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null or not known,
- a StringRight is not from the ACS.
public void removePrivilegeRights(java.lang.String _criteria, StringRight[] _l_rights) throws UpDateError
- 'MainType.main type' for each of the 6 PrivilegeAbst main types, which sets the 7 keys 'PrivilegeRights.MainType.main type' for the standard rights in ACSImpl,
- 'PFType/PFLink.SecondType.second type' for the specialized rights, and there is a returned value for each typed privilege second type and each linked privilege second type.
Fires a PropertyChange for 'PrivilegedRightsSet' and 'HavePrivilegeSpecializedRights'. The criteria is not removed from the map if _l_rights contains all the current rights which is associated to the criteria. A removed type is not removed from the relevant types list, even if it has been added in the list by addPrivilegeRights().
_criteria
- for the relevant privilege rights._l_rights
- StringRights array which contain only
the privilege rights to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_rights is null or one right is null
- a right in _l_rights is not registered.
public final java.util.Map getM_PrivilegeRights()
- 'MainType.main type' for each of the 7 PrivilegeAbst main types, which sets the 7 keys 'PrivilegeRights.MainType.main type' for the standard rights in ACSImpl,
- 'PFType/PFLink.PrvRightsSet.Type.second type' for the specialized rights, and there is a returned value for each typed privilege second type and each linked privilege second type.
Note: this version does manage only simple TYPED and simple LINKED privileges. A right may be not registered in getL_Rights().
public java.util.List<java.lang.String> getL_MapKeysForPrivilegeRights()
- 'MainType.main type' for each of the 6 PrivilegeAbst main types, which sets the 6 keys 'PrivilegeRights.MainType.main type' for the standard rights in ACSImpl,
- 'PFType/PFLink.PrvRightsSet.Type.second type' for the specialized rights, and there is a returned value for each typed privilege second type and each linked privilege second type.
Note: the typed privilege types and the linked privilege types have to be all known.
Calls ACSFactoryUtilityImpl.getL_MapKeysForPrivilegeRights(). Called for BaseObjectMapPropertyEditor.actionPerformed() (through StringMapPropertyEditor.addKeyElement() and SimplePropertyEditor.getRestrictedValues()).
public void setL_bridgeRightsSet(StringRight[] _s) throws UpDateError
_s
- is an array of access rights for the ACS.
Not null, no null or negative right, but may be a 0-length array.
UpDateError
- if _s or one element is null, if the bridge rights are not allowed,
or if there is no fixed set of rights for this acspublic final StringRight[] getL_bridgeRightsSet()
public void addSubAndGroupPolicy(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
<ResourceSubACS>, <GroupSubACS> and <GroupTree>.
<GroupTree> is reserved to the group trees, and the other values are then forbidden. A subACS may have one or two of the two values which are associated to. This method does not define the Resource or EligibleParty type(s) which have to be associated to a subACS or a group tree root. This has to be done by the keys 'Explorer.SubAcsNode' and 'Explorer.AcsGroupTree' in m_TypesAndExplorer_. To prepare the updating of this property by the user, it is necessary to define previously the Resource or EligibleParty type(s) which are dedicated to these subACS or group tree root. The values in m_TypesAndExplorer_ fulfill a policy that the getL_LimitedValuesForTypesAndExplorer method sets. It states that:
- 'Explorer.SubAcsNode' sets some subACS nodes in the explorer from any current type starting with '<byAcsCreator> XXX' for Resources or EligibleParties, where the values have the form 'ResourceType.§lt;byAcsCreator> XXX' or 'GroupType.<byAcsCreator> XXX', to specify the display under a dedicated node '<XXX_subacs>', of all the resources or groups having this relevant type. This type starting is reserved to these children in the explorer.
- 'Explorer.AcsGroupTree' sets some group root nodes in the explorer from any current type starting with '<byAcsCreator> YYY' for EligibleParties, where the values have the form 'GroupType.<byAcsCreator> YYY', to specify the displaying directly under a dedicated node '<YYY_tree>' of all the groupIDs having the relevant type. This type starting is reserved to these children in the explorer.
This is why this method creates the type '<byAcsCreator> NNN' for Resources or EligibleParties, where 'NNN' is the name of the new subACS or groups tree root, and sets it for the new subACS or group tree root through a call to the method addTypesAndExplorer. That creation is mandatory to allow the next updating of m_TypesAndExplorer_. The user may enter manually some other types like '<byAcsCreator> NNN KKKK', if they are necessary in the subACS hierarchy or the group tree. After such an addition, the user may also remove the new '<byAcsCreator> NNN' type. All the types that contains '<byAcsCreator>' will be set by initializeConstraintsBeforeCreation as forbidden to create a new object through the beamer.
May update l_resourceTypes_, l_epTypes_ and calls addTypesAndExplorer(). Fires PropertyChanges for 'SubAndGroupPolicy'.
_criteria
- the map key._l_values
- contains the allowed values for the criteria.
Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed.
ACSFactoryUtilityImpl.getL_LimitedValuesForSubAndGroupPolicy()
public void removeSubAndGroupPolicy(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
<ResourceSubACS>, <GroupSubACS> and <GroupTree>.
Fires a PropertyChange for 'SubAndGroupPolicy'.
_criteria
- for the relevant value._l_values
- contains only the value to remove for the criteria.
Null to remove the criteria. May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is not registered.
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.
public final java.util.List<java.lang.String> getL_LimitedValuesForSubAndGroupPolicy(java.lang.String _key)
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 one Composite name in an array.
public void addBelongsToComposite(java.lang.String _criteria, ImmutableName[] _l_values) throws UpDateError
_criteria
- the map key._l_values
- array which contains the allowed values
for the criteria. Never null. The lenght may be 0 or 1.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed, or there is already a value.
ACSFactoryUtilityImpl.getL_LimitedValuesForComponentNodes(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void removeBelongsToComposite(java.lang.String _criteria, ImmutableName[] _l_values) throws UpDateError
_criteria
- for the relevant value._l_values
- array which contains only
the value to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is not registered.
public final java.util.List<java.lang.String> getL_currentAcsAndSubAcsNickNames()
public final java.util.List<ImmutableName> getL_LimitedValuesForBelongsToComposite(java.lang.String _key)
_key
- the ACS name last component or a subACS name
public void addComponentNode(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
Calls getL_MapKeysStartsForComponents(). No control on the current component nodes, to set there is no double. Fires PropertyChanges for 'ComponentNodes'.
_criteria
- the map key._l_values
- String array which contains the allowed values
for the criteria. Never null. The lenght may be 0 or 1.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed, or there is still one value.
ACSFactoryUtilityImpl.getL_LimitedValuesForComponentNodes(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void removeComponentNode(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
_criteria
- for the relevant specialized values._l_values
- array which contains only
the value to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is not registered.
public final java.util.Map getM_ComponentNodes()
public java.util.List<java.lang.String> getL_MapKeysStartsForComponents()
- 'IsChildOfNewAcs.', to set a new component under the new ACS,
- 'IsChildOfNewAcsParent.', to set a new component under the parent of the new ACS.
The keys are always ended by the components of the new component name, and they may be more than one since it is possible to define a tree of components from the new ACS or from its parents.
public final java.util.List<java.lang.String> getL_LimitedValuesForComponentNodes(java.lang.String _key)
_key
- for the constrained values
ACSFactoryUtilityImpl.getL_LimitedValuesForTypesAndExplorer(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void addCompositeNode(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
Fires PropertyChanges for 'CompositeNodes'.
_criteria
- the map key._l_values
- String array which contains the allowed values
for the criteria. Never null. The lenght may be 0 or 1.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed, or there is already a value.
ACSFactoryUtilityImpl.getL_LimitedValuesForComponentNodes(ARoad0.gBase.ACSFactoryImpl, java.lang.String)
public void removeCompositeNode(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
_criteria
- for the relevant value._l_values
- array which contains only
the value to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is not registered.
public final java.util.Map getM_CompositeNodes()
public final java.util.List<java.lang.String> getL_LimitedValuesForCompositeNodes(java.lang.String _key)
_key
- for the constrained values
public void addAlternate(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
The value is an array which may contain the following values, in this order:
- exactly one value among the types in ISFactoryUtilityImpl.getAlternateTypes(),
- one or several right types, among the 3 in ISFactoryUtilityImpl,
- as options, the values OPTIONAL_ALTERNATE and OPTIONAL_GROUND in ISFactoryUtilityImpl.
Then, the values array lenght is from 2 to 6. Calls ACSFactoryUtilityImpl.controlAlternateValues(). Fires a Property Change for 'Alternates'.
_criteria
- the map key._l_values
- String array which contains the allowed values
for the criteria. Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null or not allowed,
- a value is not allowed.
public void removeAlternate(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
The value is an array which may contain the following values, in this order:
- exactly one value among the types in ISFactoryUtilityImpl.getAlternateTypes(),
- one or several right types, among the 3 in ISFactoryUtilityImpl,
- as options, the values OPTIONAL_ALTERNATE and OPTIONAL_GROUND in ISFactoryUtilityImpl.
Then, the values array lenght is from 2 to 6. Fires a PropertyChange for 'Alternates'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria. All the values are removed if _l_values contains the alternate type, in other words, the mandatory first value of the current array.
_criteria
- for the relevant value._l_values
- array which contains only
the value to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is not registered.
public java.util.Map<java.lang.String,java.lang.String[]> getM_Alternates()
The value is an array which may contain the following values:
- exactly one value among the types in ISFactoryUtilityImpl.getAlternateTypes(),
- one or several right types, among the 3 in ISFactoryUtilityImpl,
- as options, the values OPTIONAL_ALTERNATE and OPTIONAL_GROUND in ISFactoryUtilityImpl.
The values array lenght is from 2 to 6.
public java.util.List<java.lang.String> getL_MapKeysStartsForAlternates()
public java.util.List<java.lang.String> getL_LimitedValuesForAlternates(java.lang.String _key)
_key
- is unused, and it is here simply to be compliant with the StringMapPropertyEditor
handling
public void addOpeningAndClosingRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
This relation sets that the parent ACS ACSObject, named root, or one of its property value, has to be there when the ACS is opened, to ensure the ACS ability to run, and has to be closed or updated (for a property value) at the closing of the ACS.
The criteria is a map key with one allowed format ('ACS.Name.<Value>.xxxx'), due to the control by AssociationMapPropertyEditor and ACSFactoryImplBeanInfo. The allowed String map values does not depend on the map key. The non-empty values define fully or partially one action to do if the key matches. One action is always a constructor or a method to call.
Calls addAssociations() for the main work. The format of the keys and values is described at AssociateUtilityImpl.controlAssociations(). Fires PropertyChanges for 'OpeningAndClosingRoots'.
_criteria
- is the map key to apply these associations.
It must be the parent ACS name._l_values
- a Strings array which contain the values for the criteria,
but without the action number 'N.'. Values are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- a value is not allowed.
addAssociations(java.util.HashMap, java.lang.String, java.lang.String[])
,
AssociationMapPropertyEditor
public void removeOpeningAndClosingRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
The format is described at AssociateUtilityImpl.controlAssociations(). Fires a PropertyChange for 'OpeningAndClosingRoots'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria. After the removing, the set of values is controlled and an error message is added if the set is not compliant. A previous error message may be removed ('Error:' or 'Error to delete:'), and also the action numbers. Call removeAssociations() for the main work.
_criteria
- is the map key to apply these associations_l_values
- a Strings array which contain the values for the criteria,
with an action number 'N.' or not. Null to remove the criteria. May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_values is null or one value is null
- a value is unknown
- items in _l_lvalues are not in a sequence in the current values array.
public final java.util.Map getM_OpeningAndClosingRoots()
public void addOpeningNoClosingRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
This relation sets that the parent ACS ACSObject, named root, or one of its property value, has to be there when the ACS is opened, to ensure the ACS ability to run, but has not to be closed or updated (for a property value) at the closing of the ACS nor at the deleting of the ACS.
The criteria is a map key with one allowed format ('ACS.Name.<Value>.xxxx'), due to the control by AssociationMapPropertyEditor and ACSFactoryImplBeanInfo. The allowed String map values does not depend on the map key. The non-empty values define fully or partially one action to do if the key matches. One action is always a constructor or a method to call.
Calls addAssociations(). If this method detects an error, a message starting with 'Error ' is added at the end of the m_RootsForAcsOpeningNoClosing_ map for the key _criteria. The format of the keys and values is described at AssociateUtilityImpl.controlAssociations(). Fires PropertyChanges for 'OpeningNoClosingRoots'.
_criteria
- is the map key to apply these associations.
It must be the parent ACS name._l_values
- a Strings array which contain the values for the criteria,
but without the action number 'N.'. Values are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- a value is not allowed.
addAssociations(java.util.HashMap, java.lang.String, java.lang.String[])
,
AssociationMapPropertyEditor
public void removeOpeningNoClosingRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
The format is described at AssociateUtilityImpl.controlAssociations(). Fires a PropertyChange for 'OpeningNoClosingRoots'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria. After the removing, the set of values is controlled and an error message is added if the set is not compliant. A previous error message may be removed ('Error:' or 'Error to delete:'), and also the action numbers. Calls removeAssociations() for the main work.
_criteria
- is the map key to apply these associations_l_values
- a Strings array which contain the values for the criteria,
with an action number 'N.' or not. Null to remove the criteria. May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_values is null or one value is null
- a value is unknown
- items in _l_lvalues are not in a sequence in the current values array.
public final java.util.Map getM_OpeningNoClosingRoots()
public void addIntegrityRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
This relation sets that the parent ACS ACSObject, named root, or one of its property value, has to be properly stated, to ensure the ability of the ACS to run.
The criteria is a map key with one allowed format ('ACS.Name.<Value>.xxxx'), due to the control by AssociationMapPropertyEditor and ACSFactoryImplBeanInfo. The allowed String map values does not depend on the map key. The non-empty values define fully or partially one action to do if the key matches. One action is always a constructor or a method to call.
This method provides an assistance to the user to build up a valid set of integrity controls with the proper commands and arguments. See addAssociations() for understanding the complex logic.
Calls addAssociations(). The format of the keys and values is described at AssociateUtilityImpl.controlAssociations(). Fire PropertyChanges for 'IntegrityRoots'.
_criteria
- is the map key to apply these associations. It must be an ACS name._l_values
- a Strings array which contain the values for the criteria,
but without the action number 'N.'. Values are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- a value is not allowed.
addAssociations(java.util.HashMap, java.lang.String, java.lang.String[])
,
AssociationMapPropertyEditor
public void removeIntegrityRoots(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
The format is described at AssociateUtilityImpl.controlAssociations(). Fires a PropertyChange for 'IntegrityRoots'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria. After the removing, the set of values is controlled and an error message is added if the set is not compliant. A previous error message may be removed ('Error:' or 'Error to delete:'), and also the action numbers. Calls removeAssociations() for the main work.
_criteria
- is the map key to apply these associations_l_values
- a Strings array which contain the values for the criteria,
with an action number 'N.' or not. Null to remove the criteria. May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_values is null or one value is null
- a value is unknown
- items in _l_lvalues are not in a sequence in the current values array.
public final java.util.Map getM_IntegrityRoots()
public java.lang.String getIcon()
public void setEorIcon(javax.swing.ImageIcon _icon)
_icon
- file name of the icon associated to the ACS. May be null.public void setIcon(java.lang.String _icon) throws UpDateError
_icon
- file name (linux.png for instance) of the icon associated to the ACS.
May be null, and with leading and trailing whitespaces.
UpDateError
- if _icon is not the name of a gif, png or jpeg image file
in the folderpublic void addCommentsOnProperties(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
Fires Property Changes for 'CommentsOnProperties'.
_criteria
- should be is an ACS property displaying name._l_values
- a Strings array of free user comments.
Never null but the lenght may be 0.
UpDateError
- if:- the criteria is null or not allowed
public void removeCommentsOnProperties(java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
Fires a PropertyChange for 'CommentsOnProperties'. The criteria is not removed from the map if _l_values contains all the current values which is associated to the criteria.
_criteria
- for the relevant comments._l_values
- Strings array which contains only
the specialized values to remove for the criteria. Null to remove the criteria.
May be empty.
UpDateError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is unknown.
public final java.util.Map getM_CommentsOnProperties()
getM_CommentsOnProperties
in interface ACSRun
public java.util.List<java.lang.String> getL_MapKeysForCommentsOnProperties()
public void addAcsVocabulary(java.lang.String _criteria, java.lang.String[] _l_values) throws BaseError
- the AcsAddon name, AcsAddon editor and AcsAddon package editor, in three different 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 '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 by classic classes (see L_CLASSIC_CLASS_KEYS), like when ResourceImpl is subclassed by ResourceUbuntuImpl in the AcsAddon Ubuntu. The full Java name of the classic class has to be put in the value array.
- If the ACS is an AcsAddon, what are the extension classes in the AcsAddon gBase package (see ACSADDON_EXTENSION_CLASSES). In this case, the class descriptions are separated by one escape, in any order, like in 'Executable/is/Actor XXX/is/Resource'.
Called by the ACSFactory constructor of any AcsAddon. Fires a PropertyChange for 'AcsVocabulary'.
_criteria
- one of the ACSFactoryUtilityImpl constants_l_values
- one item or more than one sometimes for the keys
ACSADDON_EXTENSION_CLASSES and ACSADDON_SPECIALIZED_RIGHT_DOMAINS.
Never null but the lenght may be 0.
BaseError
- if:- the criteria is null or not allowed
- the value is null or it contains more than one item
- the value is not allowed for the keys ACSADDON_EXTENSION_CLASSES and ACSADDON_SPECIALIZED_RIGHT_DOMAINS
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
,
ACSFactoryUtilityImpl.ACSADDON_NAME
,
ACSFactoryUtilityImpl.ACSADDON_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_PACKAGE_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_SPECIALIZED_RIGHT_DOMAINS
public void removeAcsVocabulary(java.lang.String _criteria, java.lang.String[] _l_values) throws BaseError
- the AcsAddon editor and name, in two different 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 '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 by classic classes (see L_CLASSIC_CLASS_KEYS), like when ResourceImpl is subclassed by ResourceUbuntuImpl in the AcsAddon Ubuntu. The full Java name of the classic class has to be put in the value array.
- If the ACS is an AcsAddon, what are the extension classes in the AcsAddon gBase package (see ACSADDON_EXTENSION_CLASSES). In this case, the class descriptions are separated by one escape, like in 'Executable/is/Actor XXX/is/Resource'.
Fires a PropertyChange for 'AcsVocabulary'.
_criteria
- one of the ACSFactoryUtilityImpl constants_l_values
- values to remove. This array is limited to one item by the BeanInfo.
BaseError
- if:- the criteria is null or not known,
- a value in _l_values is null,
- a value is unknown.
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
,
ACSFactoryUtilityImpl.ACSADDON_NAME
,
ACSFactoryUtilityImpl.ACSADDON_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_PACKAGE_EDITOR
public final java.util.Map<java.lang.String,java.lang.String[]> getM_AcsVocabulary()
- the AcsAddon name, AcsAddon editor and AcsAddon package editor, in three different 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 '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 by classic classes (see L_CLASSIC_CLASS_KEYS), like when ResourceImpl is subclassed by ResourceUbuntuImpl in the AcsAddon Ubuntu. The full Java name of the classic class has to be put in the value array.
- If the ACS is an AcsAddon, what are the extension classes in the AcsAddon gBase package (see ACSADDON_EXTENSION_CLASSES). In this case, the class descriptions are separated by one escape, 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'.
getM_AcsVocabulary
in interface ACSRun
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
,
ACSFactoryUtilityImpl.ACSADDON_NAME
,
ACSFactoryUtilityImpl.ACSADDON_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_PACKAGE_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_SPECIALIZED_RIGHT_DOMAINS
public java.util.List<java.lang.String> getL_MapKeysForAcsVocabulary()
ACSFactoryUtilityImpl.L_ACS_TREE_UPPER_NODES_FOR_ONE_ACS
,
ACSFactoryUtilityImpl.L_CLASSIC_CLASS_KEYS
,
ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES
,
ACSFactoryUtilityImpl.ACSADDON_NAME
,
ACSFactoryUtilityImpl.ACSADDON_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_PACKAGE_EDITOR
,
ACSFactoryUtilityImpl.ACSADDON_SPECIALIZED_RIGHT_DOMAINS
,
ACSFactoryUtilityImpl.ACSADDON_VERSION
public void addPropertyChangeListener(java.beans.PropertyChangeListener _l)
addPropertyChangeListener
in interface BaseBeanManager
addPropertyChangeListener
in interface BoundBean
_l
- PropertyChangeListener to addpublic void addPropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
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 int hashCode()
hashCode
in interface BaseObject
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object _obj)
equals
in interface BaseObject
equals
in class java.lang.Object
_obj
- object to compare
public java.lang.String toString()
toString
in class java.lang.Object
protected void firePropertyChange(java.lang.String _propertyName, java.lang.Object _oldValue, java.lang.Object _newValue)
_propertyName
- name of the changing property_oldValue
- of the property_newValue
- of the property. No operation if equal to _oldValue
and not null.protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public void finalizeForUser() throws UpDateError
UpDateError
- if the super class throws itprotected void controlRights(StringRight[] _s, boolean _allowDeny) throws UpDateError
_s
- is an array of acsrights and metarights_allowDeny
- true if _s may contain denying rights
UpDateError
- if _s is null, or desactivated,
or it is an ACS right not registered, without a metaright or the correct acs.protected void newRight(StringRight _right)
_right
- is the new right to register. No operation if null or empty.protected void moveRight(StringRight _right) throws UpDateError
_right
- is the folder to unregister.
UpDateError
- if the folder is null or not known.protected java.util.HashMap<java.lang.String,java.lang.String[]> addAssociations(java.util.HashMap<java.lang.String,java.lang.String[]> _m_upd_Associations, java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
There is a fully-defined association when the values defines it with all the required arguments. When _l_values is defined partially, this means that the constructor or method is not well defined, or that its arguments are not all defined, or are poorly defined in the values. Every partially-defined array for _l_values is detected by this method, which adds to the array, at its end, a message to the user to tell him the nature of the current error. The property is then updated and displayed to the user, so he should update the values correctly. When there is a fully-defined action, this method adds an action number to each value. So, the validated associations appear to the user as a list of numbered values, which is ended, if any, by the last partially-defined association without action number and with an error message.
The number of actions is limited to 999. See AssociateUtilityImpl.controlAssociations() for a full description of the forms. Fires no Property Change. Called by addAssociationsToNewObject(), addOpeningAndClosingRoots(), addOpeningNoClosingRoots() and addIntegrityRoots().
_m_upd_Associations
- actions to do. May be null or empty._criteria
- is the map key to apply these associations. Never null._l_values
- a Strings array which contain the values for the criteria,
but without the action number 'NNN.'. Values are added to the previous values, if any.
Never null but the lenght may be 0.
UpDateError
- if:- a value is not allowed.
AssociateUtilityImpl.getL_MapKeyStartsForAssociationsOnNewObject()
,
AssociateUtilityImpl.controlAssociations(ARoad0.gBase.ACSFactoryImpl, java.util.HashMap, java.lang.String, java.lang.String[], boolean)
,
AssociationMapPropertyEditor
protected java.util.HashMap<java.lang.String,java.lang.String[]> removeAssociations(java.util.HashMap<java.lang.String,java.lang.String[]> _m_upd_Associations, java.lang.String _criteria, java.lang.String[] _l_values) throws UpDateError
_m_upd_Associations
- actions to update. Never null nor empty,
and the map value for _criteria is never null._criteria
- is the map key to apply these associations. Never null._l_values
- a Strings array which contain the values for the criteria,
with an action number 'NNN.' or not. Never null. May be empty.
UpDateError
- if:- the criteria is null or not known,
- _l_values is null or one value is null
- a value is unknown
- items in _l_lvalues are not in a sequence in the current values array.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |