ARoad0.AcsAddon.Accbee.MySQL.gBase
Class BasesSetMySQLImpl

java.lang.Object
  extended by ARoad0.gBase.BasicImpl
      extended by ARoad0.gBase.ResourceImpl
          extended by ARoad0.gBase.DirectoryImpl
              extended by ARoad0.AcsAddon.Accbee.MySQL.gBase.BasesSetMySQLImpl
All Implemented Interfaces:
BasesSetMySQL, ResourceMySQL, ACSObject, ACSObjectAddon, BaseBeanManager, BaseObject, Basic, BoundBean, Copyable, Directory, FinalizedObject, FinalizedObjectForUser, ImmutableBasic, ImmutableDirectory, ImmutableLeaf, ImmutableNode, ImmutablePrivilegeTarget, ImmutableResource, ImmutableTarget, Leaf, Node, PrivilegeTarget, PrivilegeUser, Resource, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable

public class BasesSetMySQLImpl
extends DirectoryImpl
implements BasesSetMySQL

This class is responsible for modeling a BasesSetMySQL which is a set of databases having a wildcard in its name, like 'BASE O%', as child of the Directory '|pattern-name_bases sets|'. It has to be a Directory to be called by the AclEntry when there is a rights changing (through resetInheritedAclEntryRightsOfChildren()), but it is not a ResourceMySQL with primary rights. The documentation of DirectoryMySQLImpl describes in details the ACL management. The direct AclEntries and the inherited AclEntries of the parent '|pattern-name_bases sets|' are not copied into the inherited ACL list of a bases set. The direct AclEntries of this class are copied into the inherited AclEntries list of each database that the databases set owns. For instance, the databases set 'BASE O%' copies its ACL into the lists of the two databases 'BASE One' and 'BASE OFF'.

A bases set is a child of the '|pattern-name_bases sets|' directory. A bases set name must start with 'BASES', and contains one wildcard character '%' or '_'. The type of a BasesSetMySQL is always 'pattern-name_bases set'. A database does not know the bases sets where it is registered. This class has no getAddonInnerPropertiesToListen() method because the 'ConnectedDatabases' events do not change the views. The error messages to the Access Road user are the followings:

- A bases set must have '|pattern-name_bases sets|' as parent.

- A bases set must have the type 'bases set'.

- A bases set name must contain one wildcard '%' or '_'.

- MySQL allows conditional ACL only to accounts.

- MySQL allows a conditional ACL only with a simple host as conditional group. To set 'tom@%' for instance, creates the accounts-for-groups group 'tom§@%' and sets on it a non-conditional ACL.

- MySQL allows conditional ACL only with the account first host as condition group.

- A MySQL bases set allows non-conditional ACL only to accounts, accounts-for-hosts groups, hosts and hosts groups.

It is a javabean with the following bound properties: 'ConnectedDatabases'. This class has no subclass in this package. This class is declared in the ACS vocabulory by the key ACSFactoryUtilityImpl.ACSADDON_EXTENSION_CLASSES.

See Also:
Serialized Form

Field Summary
static BasesSetMySQLImpl EMPTY_INSTANCE
          A reusable empty instance for initialization, to avoid the use of 'new' for temporary values.
(package private)  java.util.List<DirectoryMySQL> l_ConnectedDatabases_
           
static java.io.ObjectStreamField[] serialPersistentFields
          variable for the JDK 2 serialization
private static long serialVersionUID__
           
 
Fields inherited from class ARoad0.gBase.DirectoryImpl
EnforceChildGID_, nodeHandler_
 
Fields inherited from class ARoad0.gBase.ResourceImpl
actorActivated_, groupID_, l_aclEntry_, l_groupRights_, l_inheritedT_AclEntries_, l_OpenAcsControllerNames_, l_ownerRights_, l_parentTreeAGRightsAllowToGoAcross_, l_rootRights_, m_inheritedT_ACLRights_, parent_, userID_
 
Fields inherited from class ARoad0.gBase.BasicImpl
aCS_, aCS_Name_, aliasHandler_, changeSupport_, comment_, folderMember_, INCREMENT_CAPACITY, INITIAL_CAPACITY, INITIAL_CAPACITY_2, iS_Name_, m_ConstrainedChildACS_, name_, PRIME, privHandler_, type_
 
Constructor Summary
BasesSetMySQLImpl()
          The basic constructor
BasesSetMySQLImpl(ImmutableName _name, ACS _acs, Directory _parent, UserID _owner, java.lang.String _resourceType)
          This constructor is set by the beamer editor for the ACS resources list, from the 'New' button, or from the gWork.AcsFactoryUbuntu.
BasesSetMySQLImpl(ImmutableName _name, ACS _acs, Directory _parent, UserID _owner, java.lang.String _resourceType, boolean _toRegisterInManager)
          This constructor is called by the other constructor.
 
Method Summary
 AclEntry addAclEntry(ImmutableACS _aclAcs, ImmutableEligibleParty _ep, StringRight[] _l_right, java.lang.Boolean _positiveRight, ImmutableGroupID _conditionGroup)
          Adds the AclEntry as direct AclEntry on this bases set and as inherited AclEntry in the connected databases, and sorts the new direct AclEntry list.
protected  void addConnectedDatabase(DirectoryMySQL _base)
          Registers the database in this BasesSetMySQL.
 void addInheritedAclEntry(AclEntry _acl)
          Adds the inherited AclEntry.
 java.lang.Object clone()
          Clones without registering of the new object in the ACSs.
protected  BasesSetMySQLImpl copyOwnVariables(BasesSetMySQLImpl _result, boolean _withoutInternalAcl)
          This method provides a copy of the instance variables.
 void finalizeForBase()
          This method sets to null the primary inherited rights map.
protected  void finalizeFromDeserialization()
          NO USE.
 java.util.Map<java.lang.String,java.lang.String> getAddonInnerPropertiesToListen()
          Gets the specific events to listen from an ACSObject, because these events should change the rights of an ACSObject in an ACS Addon.
 java.util.List<DirectoryMySQL> getEorConnectedDatabases()
          Get the databases which are defined by the name of this BasesSetMySQL.
 java.util.Map<java.lang.String,StringRight[]> getM_TargetInheritedACLRights()
          Overridden and forbidden method.
 void removeAclEntry(ImmutableACS _aclAcs, ImmutableEligibleParty _ep, boolean _positiveRight, ImmutableGroupID _conditionGroup)
          Removes the AclEntry as direct AclEntry on this bases set and as inherited AclEntry in the connected databases.
 void removeAclEntryWithoutFiring(ImmutableACS _aclAcs, ImmutableEligibleParty _ep, boolean _positiveRight, ImmutableGroupID _conditionGroup)
          Removes the direct AclEntry but without event firing.
protected  void removeConnectedDatabase(DirectoryMySQL _base)
          Registers the database in this BasesSetMySQL.
 void removeInheritedAclEntry(AclEntry _acl)
          Removes the inherited AclEntries in the children.
 void resetInheritedAclEntryRights(AclEntry _acl)
          Resets the inherited AclEntry rights after an user edition.
 void resetInheritedAclEntryRightsOfChildren(AclEntry _acl)
          At each rights changing into a direct ACL, resets the inherited AclEntries of the connected databases (which are not indeed children).
 
Methods inherited from class ARoad0.gBase.DirectoryImpl
addEorChild, addPropertyChangeListener, copy, copyOwnVariables, copyWithoutInternalAcl, equals, getEnforceChildGID, getEorL_Children, getPropertyChangeListeners, getSerialVersionUID, hashCode, removeEorChild, removePropertyChangeListener, resetInheritedPrivilegeRights, resetInheritedPrivilegeRightsOfChildren, setEnforceChildGID, setEorL_Children, setL_groupRights, setL_ownerRights, toString
 
Methods inherited from class ARoad0.gBase.ResourceImpl
addAcsController, addEorPrivilegeForLinksToTarget, addEorPrivilegeForTypeToTarget, addPropertyChangeListener, compareTo, containsAclEntryToEP, copyOwnAcl, copyOwnVariables, fireL_inheritedGroupRights, fireL_inheritedOwnerRights, getActorActivated, getAGOAccessFromTheParentAccount, getAGOAccessFromTheParentGroup, getEorGroupID, getEorImmutableL_TargetInheritedAclEntries, getEorImmutableL_TargetInheritedLinkedPrivileges, getEorL_EPthroughAclEntry, getEorL_TargetInheritedAclEntries, getEorL_TargetInheritedLinkedPrivileges, getEorL_TargetPrivilegeForLinks, getEorL_TargetPrivilegeForTypes, getEorL_TargetPrivileges, getEorParent, getEorUserID, getL_aclEntry, getL_AcsControllers, getL_groupRights, getL_inheritedGroupRights, getL_inheritedOwnerRights, getL_ownerRights, getL_rootRights, getM_TargetInheritedLinkedPRIRights, getResourceType, hasTheAccountAndGroupOfParent, removeACL, removeAcsController, removeEorGroupID, removeEorPrivilegeToTarget, removeEorUserID, selectInheritedAclEntry, selectInheritedPrivilege, setAGOAccessFromTheParentAccount, setAGOAccessFromTheParentGroup, setEorGroupID, setEorParent, setEorUserID, setL_rootRights, setResourceType
 
Methods inherited from class ARoad0.gBase.BasicImpl
addAcsOfSoftReferences, addConstrainedChildACS, addEorSoftAlias, addInVFolderList, addInViewList, addPropertyChangeListener, copyOwnVariables, finalize, finalizeForUser, firePropertyChange, getAcsName, getComment, getEorACS, getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getFullName, getHasSoftAlias, getImpliedViews, getIS_Name, getL_AcsOfSoftReferences, getL_SoftAlias, getM_ConstrainedChildACS, getName, getNickName, getType, getVirtualFolders, removeAcsOfSoftReferences, removeConstrainedChildACS, removeEorSoftAlias, removeInVFolderList, removeInViewList, removePropertyChangeListener, setComment, setEorAliasAsInternalHardReference, setEorReferenceAsInternalHardAlias, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ARoad0.gBaseInterface.Directory
resetInheritedPrivilegeRightsOfChildren, setEnforceChildGID
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableDirectory
getEnforceChildGID, getEorL_Children
 
Methods inherited from interface ARoad0.gBaseInterface.Resource
copyWithoutInternalAcl, resetInheritedPrivilegeRights, selectInheritedPrivilege, setEorGroupID, setEorUserID, setL_groupRights, setL_ownerRights, setL_rootRights, setResourceType
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableResource
containsAclEntryToEP, getActorActivated, getAGOAccessFromTheParentAccount, getAGOAccessFromTheParentGroup, getEorGroupID, getEorImmutableL_TargetInheritedAclEntries, getEorL_EPthroughAclEntry, getEorUserID, getL_aclEntry, getL_AcsControllers, getL_groupRights, getL_inheritedGroupRights, getL_inheritedOwnerRights, getL_ownerRights, getL_rootRights, getM_ConstrainedChildACS, getResourceType, hasTheAccountAndGroupOfParent, selectInheritedAclEntry
 
Methods inherited from interface ARoad0.gBaseInterface.Basic
finalizeForUser, setComment
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableBasic
getComment, getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getImpliedViews, getIS_Name, getL_AcsOfSoftReferences, getL_SoftAlias, getPropertyChangeListeners, getSerialVersionUID, getVirtualFolders
 
Methods inherited from interface ARoad0.gBaseInterface.Copyable
copy
 
Methods inherited from interface ARoad0.gBaseInterface.PrivilegeTarget
addEorPrivilegeForTypeToTarget, removeEorPrivilegeToTarget
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutablePrivilegeTarget
getEorImmutableL_TargetInheritedLinkedPrivileges, getEorL_TargetPrivilegeForLinks, getEorL_TargetPrivilegeForTypes, getEorL_TargetPrivileges, getM_TargetInheritedLinkedPRIRights, getType
 
Methods inherited from interface ARoad0.gBaseInterface.ImmutableTarget
getEorAliasAsInternalHardReference, getEorReferenceAsInternalHardAlias, getHasSoftAlias, getL_AcsOfSoftReferences, getL_SoftAlias
 
Methods inherited from interface ARoad0.gBaseInterface.ACSObject
getAcsName, getEorACS
 
Methods inherited from interface ARoad0.gBaseInterface.BaseObject
equals, getFullName, getName, getNickName, hashCode
 

Field Detail

serialVersionUID__

private static final long serialVersionUID__
See Also:
Constant Field Values

l_ConnectedDatabases_

java.util.List<DirectoryMySQL> l_ConnectedDatabases_

EMPTY_INSTANCE

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


serialPersistentFields

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

Constructor Detail

BasesSetMySQLImpl

public BasesSetMySQLImpl()
The basic constructor


BasesSetMySQLImpl

public BasesSetMySQLImpl(ImmutableName _name,
                         ACS _acs,
                         Directory _parent,
                         UserID _owner,
                         java.lang.String _resourceType)
                  throws CreateError
This constructor is set by the beamer editor for the ACS resources list, from the 'New' button, or from the gWork.AcsFactoryUbuntu.

Parameters:
_name - of the directory
_acs - is the main ACS of the directory
_parent - of the directory; may be null.
_resourceType - is the type, and may be null if the ACS allows it.
_owner - owns the resource; may be null. Never used.
Throws:
CreateError - if ACSImpl.newEorResource() throws it - the instance must then be deleted !

BasesSetMySQLImpl

public BasesSetMySQLImpl(ImmutableName _name,
                         ACS _acs,
                         Directory _parent,
                         UserID _owner,
                         java.lang.String _resourceType,
                         boolean _toRegisterInManager)
                  throws CreateError
This constructor is called by the other constructor. A bases set name must start with 'BASES', and contains one wildcard character '%' or '_'. The type must be a 'bases set' and the parent must be the '|pattern-name_bases sets|' node. The direct AclEntries and the inherited AclEntries of the parent are not added, unlike the super constructor.

Parameters:
_name - of the directory
_acs - is the main ACS of the directory
_parent - of the directory; may be null.
_resourceType - is the type, and may be null if the ACS allows it.
_owner - owns the resource. May be null. Never used.
_toRegisterInManager - false if this method must not register the instance in the ACS.
Throws:
CreateError - if ACSImpl.newEorResource() throws it, or error on the name, the type, the parent - the instance must then be deleted !
Method Detail

getAddonInnerPropertiesToListen

public java.util.Map<java.lang.String,java.lang.String> getAddonInnerPropertiesToListen()
Gets the specific events to listen from an ACSObject, because these events should change the rights of an ACSObject in an ACS Addon. Returns always null, because these events are listened only to update the views containing these ACSObjects. This method does not cover the parent properties of a Resource or a VirtualFolder (see ARoad0.gBase.AcsAddon.getAddonParentPropertiesToListen()). To define the events, the map key may have the following values:

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

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

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

'AAA.method_name IF BBB'

where:

- AAA: THIS (mandatory),

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

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

When the map value starts with 'ACS', the ACS method to call has the ACSObject has one argument. Otherwise, the ACS or the ACSObject method has no argument. Called by ARoad0.UtilityImpl.removeAddonParentPropertyChangeListener().

Specified by:
getAddonInnerPropertiesToListen in interface ACSObjectAddon
Returns:
map to define the specific ACS Addon events to listen. Is always null.
See Also:
AcsAddon.getAddonParentPropertiesToListen()

addInheritedAclEntry

public void addInheritedAclEntry(AclEntry _acl)
Adds the inherited AclEntry. This method is mandatory to be a ResourceMySQL, but there is no operation.

Specified by:
addInheritedAclEntry in interface ResourceMySQL
Parameters:
_acl - inherited AclEntry to put in the list at the right order

removeInheritedAclEntry

public void removeInheritedAclEntry(AclEntry _acl)
                             throws UpDateError
Removes the inherited AclEntries in the children. This method is mandatory to be a ResourceMySQL, but there is no operation.

Specified by:
removeInheritedAclEntry in interface ResourceMySQL
Parameters:
_acl - inherited AclEntry
Throws:
UpDateError - if _acl is null or unknown

resetInheritedAclEntryRights

public void resetInheritedAclEntryRights(AclEntry _acl)
Resets the inherited AclEntry rights after an user edition. This method is mandatory to be a ResourceMySQL, but there is no operation.

Specified by:
resetInheritedAclEntryRights in interface ResourceMySQL
Specified by:
resetInheritedAclEntryRights in interface Resource
Overrides:
resetInheritedAclEntryRights in class DirectoryImpl
Parameters:
_acl - inherited AclEntry with updated rights

getM_TargetInheritedACLRights

public java.util.Map<java.lang.String,StringRight[]> getM_TargetInheritedACLRights()
Overridden and forbidden method.

Specified by:
getM_TargetInheritedACLRights in interface ResourceMySQL
Specified by:
getM_TargetInheritedACLRights in interface ImmutableResource
Overrides:
getM_TargetInheritedACLRights in class ResourceImpl
Returns:
an InternalException because the property ResourceImpl m_inheritedT_ACLRights_ is not used in this class.

addAclEntry

public AclEntry addAclEntry(ImmutableACS _aclAcs,
                            ImmutableEligibleParty _ep,
                            StringRight[] _l_right,
                            java.lang.Boolean _positiveRight,
                            ImmutableGroupID _conditionGroup)
                     throws CreateError
Adds the AclEntry as direct AclEntry on this bases set and as inherited AclEntry in the connected databases, and sorts the new direct AclEntry list. This method stops then restores the property change firing on 'AclRights'. The generic order on 'AclRights' and 'EPsThroughAclEntry' firings is inversed. Copies the overridden method and calls it after a removing of all the property change listeners for the event 'AclRights'. Calls addInheritedAclEntry() on the connected databases. The detailed sequence of calls into this method is described at the same DirectoryMySQLImpl method, where the calls to the children are replaced by calls to the connected databases, without primary rights handling.

Specified by:
addAclEntry in interface Resource
Overrides:
addAclEntry in class ResourceImpl
Parameters:
_aclAcs - ImmutableACS which owns the new AclEntry, and to be recorded as an ACS controller of this resource if it is not its main ACS.
_ep - eligible party connected to the resource through a new aclEntry.
_l_right - is an array of positive or negative rights of _ep on this resource (that is, if READ is a right, _ep can read on the resource). May be null.
_positiveRight - is true if the rights are set to authorize (grant), and false if they are set to forbid (deny).
_conditionGroup - first condition group. May be null.
Returns:
the new AclEntry.
Throws:
CreateError - if _ep or _aclAcs is null, or if _ep is already recorded in this resource with the same ACS, or thrown by the ACS.newEorAclEntry(), or without a condition group not for an account, a host or a host group, or with condition group while the source is not an account.

removeAclEntry

public void removeAclEntry(ImmutableACS _aclAcs,
                           ImmutableEligibleParty _ep,
                           boolean _positiveRight,
                           ImmutableGroupID _conditionGroup)
                    throws UpDateError
Removes the AclEntry as direct AclEntry on this bases set and as inherited AclEntry in the connected databases. Calls the overridden method at last. Calls setEorL_TargetInheritedAclEntries() on the connected databases. Fires 'InheritedTargetAclEntries' events only to update the display of the primary rights map. The detailed sequence of calls for adding is described at the method addAclEntry().

Specified by:
removeAclEntry in interface Resource
Overrides:
removeAclEntry in class ResourceImpl
Parameters:
_aclAcs - ImmutableACS which owns the AclEntry, and is recorded as an ACS controller of this resource.
_ep - eligible party connected to the resource through an AclEntry. This method unrecords the relevant aclEntry in _ep, in this resource, and in the relevant ACS. The ACS of the aclEntry may be unrecorded in this resource if there are no other aclEntry owned by this ACS in this resource.
_positiveRight - is true if the rights are oriented to authorize, and false if they are oriented to forbid.
_conditionGroup - first condition group. May be null.
Throws:
UpDateError - if _ep is null, unknown, if _aclAcs is closed or unknown, or if the type does not allow this operation.
See Also:
DirectoryMySQLImpl.addAclEntry(ARoad0.gBaseInterface.ImmutableACS, ARoad0.gBaseInterface.ImmutableEligibleParty, ARoad0.gBaseInterface.StringRight[], java.lang.Boolean, ARoad0.gBaseInterface.ImmutableGroupID)

resetInheritedAclEntryRightsOfChildren

public void resetInheritedAclEntryRightsOfChildren(AclEntry _acl)
At each rights changing into a direct ACL, resets the inherited AclEntries of the connected databases (which are not indeed children). Does not call the super method. Called by an own AclEntry when there is a change in its effective rights. This generic Directory method is used to not subclass the generic AclEntry class, but its name is not fully good because it does not process the inherited children AclEntries there. Note: the creation of the inherited AclEntry in a child is not handled by the generic gBase package, while the rights updating of the inherited AclEntry is handled through this method.

Not described in the BeanInfo since the user does not call it. Does not fire property change for this instance, but fires the 'InheritedTargetAclEntries' change from each database, to reset their inherited and primary rights. Called by AclEntryImpl.resetRightsAsInheritedAclEntry(). Calls DirectoryMySQLImpl.setEorL_TargetInheritedAclEntries().

Specified by:
resetInheritedAclEntryRightsOfChildren in interface Directory
Overrides:
resetInheritedAclEntryRightsOfChildren in class DirectoryImpl
Parameters:
_acl - own AclEntry with updated rights

getEorConnectedDatabases

public java.util.List<DirectoryMySQL> getEorConnectedDatabases()
Get the databases which are defined by the name of this BasesSetMySQL.

Specified by:
getEorConnectedDatabases in interface BasesSetMySQL
Returns:
the databases; they have copies of all the AclEntries of this bases set, or empty. Never null.

removeAclEntryWithoutFiring

public void removeAclEntryWithoutFiring(ImmutableACS _aclAcs,
                                        ImmutableEligibleParty _ep,
                                        boolean _positiveRight,
                                        ImmutableGroupID _conditionGroup)
                                 throws UpDateError
Removes the direct AclEntry but without event firing. The purpose of this method is to avoid an unuseful sequence of firings when a lot of AclEntries are removed. It is called from the root 'MySQL server' method removeAclEntry() when it deletes all the direct ACL of a pair on the root children when the root ACL for this pair is deleted. Calls the overridden method and disables before all the firings for the 'AclRights' and 'EPsThroughAclEntry' events.

Specified by:
removeAclEntryWithoutFiring in interface ResourceMySQL
Parameters:
_aclAcs - ImmutableACS which owns the AclEntry, and is recorded as an ACS controller of this resource.
_ep - eligible party connected to the resource through an AclEntry. This method unrecords the relevant aclEntry in _ep, in this resource, and in the relevant ACS. The ACS of the aclEntry may be unrecorded in this resource if there are no other aclEntry owned by this ACS in this resource.
_positiveRight - is true if the rights are oriented to authorize, and false if they are oriented to forbid.
_conditionGroup - first condition group. May be null.
Throws:
UpDateError - if _ep is null, unknown, if _aclAcs is closed or unknown, or if the type does not allow this operation.
See Also:
DirectoryMySQLImpl.addAclEntry(ARoad0.gBaseInterface.ImmutableACS, ARoad0.gBaseInterface.ImmutableEligibleParty, ARoad0.gBaseInterface.StringRight[], java.lang.Boolean, ARoad0.gBaseInterface.ImmutableGroupID)

clone

public java.lang.Object clone()
Clones without registering of the new object in the ACSs. Caution: don't use any updating method on this clone, because that may destroy the base integrity. A finalized instance returns a clone with getEorACS() which returns null, but getName() and getAcsName() still operate.

Overrides:
clone in class DirectoryImpl
Returns:
Object; is not registred in the ACSs. The names, the aclEntries, the AG rights, the ACS controller names are cloned. The AclEntries are weakly cloned, so they have no direct link to this resource. The external object references are not cloned
Throws:
java.lang.CloneNotSupportedException

finalizeForBase

public void finalizeForBase()
                     throws UpDateError
This method sets to null the primary inherited rights map. Overrides the super method and calls it at the end. Note: when this method is called by the ResourceImpl constructor, the proper variables of this class are not still initialized.

Specified by:
finalizeForBase in interface FinalizedObject
Overrides:
finalizeForBase in class DirectoryImpl
Throws:
UpDateError - if the main ACS do not known the resource (if it is a clone without setName(), typically)

addConnectedDatabase

protected void addConnectedDatabase(DirectoryMySQL _base)
Registers the database in this BasesSetMySQL. Called by the database constructor. 'ConnectedDatabases' is a bound property.

Parameters:
_base - the database to add. Never null.

removeConnectedDatabase

protected void removeConnectedDatabase(DirectoryMySQL _base)
Registers the database in this BasesSetMySQL. Called by the database constructor. 'ConnectedDatabases' is a bound property.

Parameters:
_base - the database to add. Never null.

copyOwnVariables

protected BasesSetMySQLImpl copyOwnVariables(BasesSetMySQLImpl _result,
                                             boolean _withoutInternalAcl)
                                      throws CreateError
This method provides a copy of the instance variables. Does not copy the children. Called by the copy() methods. Calls super.copyOwnVariables().

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

finalizeFromDeserialization

protected void finalizeFromDeserialization()
NO USE. This method sets to null the primary inherited rights map, since it is used after a deserialization. Overrides the super method and calls it at the end.

Overrides:
finalizeFromDeserialization in class DirectoryImpl