|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectARoad0.gBase.FolderAbst
ARoad0.gBase.VirtualFolderImpl
public class VirtualFolderImpl
This class is a container of Resources belonging to one ACS, responsible for being a PrivilegeTarget, an alias or an alias reference. A VirtualFolder is also an ImmutableSource. It manages HAS_VIRTUAL_MEMBER relations to its members. The relation VirtualFolder/member is weak. The deleting of the container does not delete the members, on the contrary of Directory. There are two main types of virtual folders, where the members are always Resources:
- for Resource members which are not EligibleParties ('RES_VFOLDER' type)
- for Resource members which may be EligibleParties ('EP_VFOLDER' type)
Thus, an Virtual Folder is an access target, and it is an access source only as reference of an alias or as container of its members.
The default behavior in the rights propagation is the RIGHTS_PASSING_OFF_TO_MEMBERS mode. This means that the VirtualFolder transfers none of its rights as target to its members. In the other mode RIGHTS_PASSING_ON_TO_MEMBERS, the ACS has set this mode for its virtual folders, and all the virtual folder rights are transfered to its members.
Trees of virtual folders are possible. There is no rights inheritance in the tree for the generic gBase classes, but an AcsAddon may override the hook methods. A virtual folder may be included in:
- a virtual tree of Resource Folders, which is not the Resources tree in the ACS,
- or a virtual tree of Eligible Party Folders.
The virtual folder manages:
- its members, as any folder, and they are Basics of one ACS; they are not deleted when this folder is deleted, on the contrary of Directory children,
- its children, as any node, and they are virtual folders (no Basic) which are deleted when this node is deleted,
- its privileges, as any privilege target, and this may include external LINKED_FOR_ONE_TO_ONE privileges.
For each virtual folder type, there is in an ACS only one folders tree and then, one folder root.
There are two types of alias relation this class may handle:
- the internal hard alias produces a direct alias-to-reference relation in the same ACS, and the two objects know this relation,
- the soft alias produces an indirect reference-to-alias relation where the alias is external or internal, and it does not register this relation.
As a FolderAbst, the members are not serialized when a VirtualFolderImpl instance is saved. It is the responsability of BaseManagerImpl to call ACSImpl.closeVirtualFolders() to prepare the virtual folders before their saving. This class is a composite class which uses the following embedded classes as private attributes:
- CFolderMemberImpl for handling only EPRViewInBases (no VirtualFolders!)
- CPrivilegeUserImpl for handling PrivilegeForTypes and PrivilegeForLinks as target
- optional CNodeImpl for handling the VirtualFolder children
- optional CAliasImpl for handling the hard and soft alias relations
If there is a folder tree, it is possible to force each member to be member at most one time in all the folder tree (EP or Resource tree). There is no link between the members of a virtual folder and the members of children of this folder. There is no link between the privileges of a virtual folder and the privileges of its children. As any node, the deleting of a virtual folder implies the deleting of its children. The typed privileges may be apply to the two current types of virtual folder. They may be used to defined default virtual folder rights. There is no property 'ACS controllers' in a virtual folder having external LINKED_FOR_ONE_TO_ONE privileges, contrary to the Resource.
It is a javabean with the following bound properties (see also the superclass): 'ImpliedOpenViews', 'OneTargetTypedPrivilege', 'OneTargetLinkedPrivilege', 'Children', 'VirtualFolderType','HardAliasReference', 'HardAlias', 'SoftAlias' 'AcsOfSoftReferences' and 'hasSoftAlias'.
The superclass FolderAbst needs to be prepared before a saving and after a restoring. This is the responsability of the ACS methods 'close/fillVirtualFolders', called by the BaseManager when an ACS is saved or opened. If the restoring is already done, there is no action.
This class has several subclasses in the AcsAddon packages. Most of the variables are protected. Note: no clone() method.
CFolderMemberImpl
,
CPrivilegeUserImpl
,
CNodeImpl
,
CAliasImpl
,
See the Copyright.
,
Serialized FormField Summary | |
---|---|
protected ACS |
aCS_
|
protected CAliasImpl |
aliasHandler_
Optional alias handler of this instance. |
static VirtualFolderImpl |
EMPTY_INSTANCE
|
static java.lang.String |
EP_VFOLDER
The VFType when the folder is for Eligible Parties which are also Resources, excluding the GroupIDMembers. |
protected CFolderMemberImpl |
folderMember_
folders handler of this instance, only for ViewInBase links. |
protected boolean |
memberOneTimeInTree_
True if an ACSObject cannot be in a folders tree more than one time, as member of one of the virtual folders. |
protected CNodeImpl |
nodeHandler_
children handler of this instance |
protected ImmutableVirtualFolder |
parent_
|
protected CPrivilegeUserImpl |
privHandler_
privileges handler of this instance |
static java.lang.String |
RES_VFOLDER
The VFType when the folder is for simple Resources only, which are not Eligible Parties. |
static java.io.ObjectStreamField[] |
serialPersistentFields
variable for the JDK 2 serialization |
protected java.lang.String |
VFType_
The default value of VFType_ is never used |
Fields inherited from class ARoad0.gBase.FolderAbst |
---|
baseError_, changeSupport_, comment_, connectedToSeveralACS_, INITIAL_CAPACITY, INITIAL_CAPACITY_5, l_connectedACSNames_, m_BaseObjects_, m_ObjectsNames_, name_, PRIME, type_ |
Constructor Summary | |
---|---|
VirtualFolderImpl()
Default constructor |
|
VirtualFolderImpl(ImmutableName _name,
ACS _acs,
VirtualFolder _parent,
java.lang.String _type,
java.lang.Boolean _forResourcesOnly)
Used by the beamer editor for the ACS VirtualFolders list, from the 'New' button, and by the gWork.AcsFactory. |
|
VirtualFolderImpl(ImmutableName _name,
ACS _acs,
VirtualFolder _parent,
java.lang.String _type,
java.lang.Boolean _forResourcesOnly,
boolean _toRegisterInManager)
This is the main constructor. |
Method Summary | |
---|---|
protected void |
addAcsOfSoftReferences(ImmutableName _acs)
Adds the ACS name of an external or internal soft reference to the master as soft alias. |
void |
addEorBaseObject(BaseObject _obj)
Adds a member to this virtual folder. |
protected void |
addEorChild(ImmutableLeaf _child)
Adds a child to this Node. |
protected void |
addEorPrivilegeForLinksToTarget(PrivilegeForLinks _priv)
Sets a privilege as applicable to this access target.n. |
void |
addEorPrivilegeForTypeToTarget(PrivilegeForType _priv)
Sets a privilege as applicable to this access target, and called only by the program. |
protected void |
addEorSoftAlias(ImmutableName _alias)
Adds an internal or external soft alias. |
protected void |
addInViewList(ViewInBase _view)
Registers the view as containing this BaseObject. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener _l)
Adds a listener to the bean. |
void |
addPropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _l)
Adds a listener to the bean. |
int |
compareTo(java.lang.Object _o)
The comparison is based on the name compareTo() method of each leaf, except when there is a node. |
java.lang.Object |
copy(ImmutableName _name,
ACS _acs,
Node _parent,
java.lang.Boolean _toRegisterInManager)
This method provides a copy of the instance with another name, without children copying because the copy order will not be always correct. |
protected VirtualFolderImpl |
copyOwnVariables(VirtualFolderImpl _result)
UNUSED This method provides a copy of the instance variables. |
protected static boolean |
detectMemberInFolderTree(ACS _acs,
java.lang.String _folderType,
ACSObject _obj)
This method is used when memberOneTimeInTree_ is true, to detect the member in all the folders of the tree, for given virtual folder type. |
boolean |
equals(java.lang.Object _obj)
Tests of equals() on name, children and parent. |
int |
fastHashCode()
Deprecated. |
void |
finalizeForBase()
All the internal maps are set to null and the folder is unregistered in its ACS. |
void |
finalizeForUser()
This method controls the immutability of the object, removes the associates, then calls finalizeForBase(). |
protected void |
finalizeFromDeserialization()
This method does not finalize the attributes, since there are only weak links. |
ImmutableName |
getAcsName()
|
ImmutableACS |
getEorACS()
|
ACSObject |
getEorAliasAsInternalHardReference()
Get the unique ACSObject, if any, of this ACS for which this object is an internal hard reference. |
java.util.List<PrivilegeForLinks> |
getEorImmutableL_TargetInheritedLinkedPrivileges()
Gets all the immutable list of the inherited linked privileges of the target. |
ImmutableVirtualFolder[] |
getEorL_Children()
An array of external object references on the children of this node. |
protected java.util.List<PrivilegeForLinks> |
getEorL_TargetInheritedLinkedPrivileges()
Gets all the inherited linked privileges of this target. |
java.util.List |
getEorL_TargetPrivilegeForLinks()
Gets all the PrivilegeForLinks linked to this target, not the privilegeForTypes. |
java.util.List |
getEorL_TargetPrivilegeForTypes()
Gets all the PrivilegeForTypes of this target. |
java.util.List |
getEorL_TargetPrivileges()
Gets all the privileges linked to this target. |
ImmutableNode |
getEorParent()
Gets the current parent node of the leaf |
ACSObject |
getEorReferenceAsInternalHardAlias()
Get the unique ACSObject, if any, of this ACS as reference for which this object is an internal hard alias. |
boolean |
getHasSoftAlias()
This property is not displayed in the GUI. |
java.util.List |
getImpliedViews()
Get the open ViewInBases containing this BaseObject. |
ImmutableName[] |
getL_AcsOfSoftReferences()
Gets a sorted array of names of the ACS of the soft references. |
ImmutableName[] |
getL_SoftAlias()
Gets a sorted array of names for the external soft aliases. |
java.util.Map<java.lang.String,StringRight[]> |
getM_TargetInheritedLinkedPRIRights()
Gets the internal map of the inherited linked privilege rights, where the key is the name of the EligibleParty having the rights, extended with, as last component, the parent order of the direct or indirect parent which has given the rights. |
java.lang.String |
getMainVFType()
The virtual folder main type is defined by the constructor. |
boolean |
getMemberOneTimeInTree()
True if the ACS does not allow an ACSObject to be more than one time in the folders tree of relevant type (EP tree or Resource tree). |
java.beans.PropertyChangeListener[] |
getPropertyChangeListeners(java.lang.String _propertyName)
Returns the change listeners for a property. |
protected void |
removeAcsOfSoftReferences(ImmutableName _acs)
Removes an external or internal alias from the master as soft reference. |
void |
removeEorBaseObject(BaseObject _obj)
Removes a member to the folder and unregisters it in the object. |
protected void |
removeEorChild(ImmutableLeaf _child)
Removes a child from this Node. |
void |
removeEorPrivilegeToTarget(Privilege _priv)
Unregisters the privilege when it is no more used by this privilege target. |
protected void |
removeEorSoftAlias(ImmutableName _alias)
Removes a soft alias. |
protected boolean |
removeInViewList(ViewInBase _view)
Unregisters the view when it does not contain this BaseObject. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener _l)
removes a listener to the bean. |
void |
removePropertyChangeListener(java.lang.String _propertyName,
java.beans.PropertyChangeListener _l)
removes a listener to the bean for the properties: Used for the superclass properties, and for: 'ImpliedOpenViews', 'OneTargetTypedPrivilege', 'OneTargetLinkedPrivilege', 'TaPrivReadyFromParent', 'AllowTaPrivFromParent', 'Children'. |
void |
resetInheritedPrivilegeRights(PrivilegeForLinks _lpri)
Resets the inherited Privilege rights after an user edition. |
void |
resetInheritedPrivilegeRightsOfChildren(PrivilegeForLinks _lpri)
Resets the inherited Privilege rights in the children, if the Privilege inheritance is applicable. |
PrivilegeForLinks |
selectInheritedPrivilege(PrivilegeForLinks _lpri,
java.lang.String _type)
Returns the Privilege to use as inherited Privilege in a child. |
protected void |
setEorAliasAsInternalHardReference(ACSObject _ali)
Set the unique ACSObject, if any, of this ACS for which this object is an internal hard reference. |
protected void |
setEorL_TargetInheritedLinkedPrivileges(java.util.ArrayList<PrivilegeForLinks> _l_priv)
Sets all the inherited linked privileges for this target. |
protected void |
setEorReferenceAsInternalHardAlias(ACSObject _ref)
Set the unique ACSObject, if any, of this ACS for which this object is an internal hard alias. |
void |
setType(java.lang.String _type)
If the argument is allowed by the ACS, sets the secondary type of this instance. |
static VirtualFolder |
valueOf(ImmutableName _name,
ACS _acs,
VirtualFolder _parent,
java.lang.String _type,
java.lang.Boolean _forResourcesOnly)
No use, since CollectionPropertyEditor calls BaseObjectHandler. |
Methods inherited from class java.lang.Object |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ARoad0.gBaseInterface.ImmutableSource |
---|
getType |
Methods inherited from interface ARoad0.gBaseInterface.Folder |
---|
propertyChange, setComment |
Methods inherited from interface ARoad0.gBaseInterface.ImmutableFolder |
---|
containsBaseObject, getComment, getConnectedToSeveralACS, getEorL_ConnectedACSNames, getEorM_BaseObjects, getType, isEmpty |
Methods inherited from interface ARoad0.gBaseInterface.ImmutablePrivilegeTarget |
---|
getType |
Methods inherited from interface ARoad0.gBaseInterface.BaseObject |
---|
getFullName, getName, getNickName, hashCode |
Field Detail |
---|
public static final java.lang.String EP_VFOLDER
public static final java.lang.String RES_VFOLDER
protected ACS aCS_
protected ImmutableVirtualFolder parent_
protected java.lang.String VFType_
protected transient CFolderMemberImpl folderMember_
protected CPrivilegeUserImpl privHandler_
protected CNodeImpl nodeHandler_
protected CAliasImpl aliasHandler_
protected boolean memberOneTimeInTree_
public static final VirtualFolderImpl EMPTY_INSTANCE
public static final java.io.ObjectStreamField[] serialPersistentFields
Constructor Detail |
---|
public VirtualFolderImpl()
public VirtualFolderImpl(ImmutableName _name, ACS _acs, VirtualFolder _parent, java.lang.String _type, java.lang.Boolean _forResourcesOnly) throws CreateError
_name
- name of the folder name. Its last component is added to the _parent name
if _parent is not null, or to the _acs name, to get the folder name. Never null._acs
- is the main ACS of the folder to create. Never null._parent
- is the folder which contains this folder, and with the same type;
may be null or immutable._type
- is the folder type. Used like the Resource type. If null, the internal value
is "<undefined>". Not the main type, get through getMainVFType._forResourcesOnly
- defines the basic folder type; true if the folder
manages only Resources as children (RES_VFOLDER type), and false when
Resource Eligible Parties may also be children (EP_VFOLDER type)
CreateError
- if _m_BaseObjects contains a null,
no ACSObject, empty-name or not _acs object, or with double link in
the folders tree for a ACS, if _parent has not the same folder type,
if the name is the name of a known IS node, VirtualFolder, Resource or EligibleParty,
or if the object type is not managed by the ACS.public VirtualFolderImpl(ImmutableName _name, ACS _acs, VirtualFolder _parent, java.lang.String _type, java.lang.Boolean _forResourcesOnly, boolean _toRegisterInManager) throws CreateError
_name
- name of the folder name. Its last component is added to the _parent name
if _parent is not null, or to the _acs name, to get the folder name. Never null._acs
- is the main ACS of the folder to create. Never null._parent
- is the folder which contains this folder, and with the same type;
may be null or immutable._type
- is the folder type. Used like the Resource type. If null, the internal value
is "<undefined>". Not the main type, get through getMainVFType._forResourcesOnly
- defines the basic folder type; true if the folder
manages only Resources as children (RES_VFOLDER type), and false when
Resource Eligible Parties may also be children (EP_VFOLDER type)_toRegisterInManager
- false if this method must not register
the instance in its ACS.
CreateError
- if _m_BaseObjects contains a null,
no ACSObject, empty-name or not _acs object, or with double link in
the folders tree for a ACS, if _parent has not the same folder type,
if the name is the name of a known IS node, VirtualFolder, Resource or EligibleParty,
or if the object type is not managed by the ACS.Method Detail |
---|
public static VirtualFolder valueOf(ImmutableName _name, ACS _acs, VirtualFolder _parent, java.lang.String _type, java.lang.Boolean _forResourcesOnly) throws CreateError
_name
- of the view. It is copied._acs
- is the main ACS of the folder to create. Never null._parent
- is the folder which contains this folder, and with the same type;
may be null._type
- is the folder type. If null, the internal value is "_forResourcesOnly
- defines the basic folder type; true if the folder
manages only Resources as children (RES_VFOLDER type), and false when
Resource Eligible Parties may also be children (EP_VFOLDER type)
CreateError
- if _acs is null, or from the constructor.public java.lang.Object copy(ImmutableName _name, ACS _acs, Node _parent, java.lang.Boolean _toRegisterInManager) throws CreateError
_name
- is the copy name. Caution: it has to not be used
as a Resource name in the same ACS, because linked privileges have
resources and folders as targets._acs
- is the main ACS of the copy to create. May not be the ACS of this instance._parent
- is the VirtualFolder (not Node!) which belongs to _acs
and will have the copy. May be null._toRegisterInManager
- false if this method must not register
the instance in the ACS.
CreateError
- of the constructor with the same parameters,
or if _parent is not a virtual folder, or _parent ACS is not _acs.protected VirtualFolderImpl copyOwnVariables(VirtualFolderImpl _result) throws CreateError
_result
- to update with this instance variables copies
CreateError
- fromprotected static final boolean detectMemberInFolderTree(ACS _acs, java.lang.String _folderType, ACSObject _obj)
_acs
- is the ACS of the folders tree_folderType
- is RES_VFOLDER or EP_VFOLDER_obj
- is a new member which could be already
in the folder tree
public ImmutableACS getEorACS()
getEorACS
in interface ACSObject
public java.lang.String getMainVFType()
getMainVFType
in interface ImmutableVirtualFolder
public void setType(java.lang.String _type) throws UpDateError
An immutable type forbids most of the updatings of the instance. Indeed, it is possible to switch for example from 'actor' to ''immutable actor', but not to 'immutable group'. The rule is that the ''immutable ' key word, if it is used, must be at the start or at the end of the type.
From the default value '<undefined>', any updating may be done. The user cannot change the type if it starts with 'byAcsCreator', but the program can do it. To do that, '<12345678901234567890>' is a program-reserved value. Even if it is not allowed by the ACS, '<12345678901234567890>' is the only new value it is possible to change from a type with '<byAcsCreator>'. If the current type does not start with '<byAcsCreator>' but contains it, the type is editable while the instance cannot be finalized by the user. From '<1234567890123456789>', any new value may be set from the allowed ones, and this starting value is the only one which allows to set a value containing 'byAcsCreator'.
Since the typed privileges use depends on the type, this method registers the typed privileges having the same type (modulo the key word 'immutable'). However, this is not true for the for_seed typed privileges, nor for the specific ones, because a specific privilege cannot be created if the source or the target is not there. A switching from/to an immutable type to the other format never changes the associated PrivilegeForTypes.
Every change in this method should be done in BasicImpl.setType(). This method is called from the GUI, by finalizeForBase() and by the constructor. Calls ACS.getM_TypesAndGUIPolicy() to have the allowed values, if any, for the keys 'VirtualFolder.ResourceVFType' and 'VirtualFolder.EPVFType'. If there is no allowed values, all the values are possible.
Calls also ACSImpl.getM_TypeOrientedPolicy(), BaseUtilityImpl.getObjectTypeWithoutImmutable(). Fires the event 'VirtualFolderType'.
_type
- as for instance "Cayro_file" or "tablespace".
May be null, or equals to the current type.
UpDateError
- if the new value and the old one are not compatible, or
if the type handling for privileges throws it.public void addEorBaseObject(BaseObject _obj) throws CreateError
addEorBaseObject
in interface Folder
addEorBaseObject
in class FolderAbst
_obj
- non-null ACSObject to add in the folder (Resource or EligibleParty)
CreateError
- if the object is already known by the view,
if it is known in the tree when it is restricted to one instance,
or it is not a resource or an actor (following the main type),
or if its ACS is not the folder ACS, or the object type is not authorized.public void removeEorBaseObject(BaseObject _obj) throws CreateError
removeEorBaseObject
in interface Folder
removeEorBaseObject
in class FolderAbst
_obj
- non-null object to remove in the folder
CreateError
- if the object name is empty, or
the object is not known by the folder.public java.util.List getImpliedViews()
public ACSObject getEorReferenceAsInternalHardAlias()
getEorReferenceAsInternalHardAlias
in interface ImmutableSource
getEorReferenceAsInternalHardAlias
in interface ImmutableTarget
public ACSObject getEorAliasAsInternalHardReference()
getEorAliasAsInternalHardReference
in interface ImmutableSource
getEorAliasAsInternalHardReference
in interface ImmutableTarget
public final boolean getHasSoftAlias()
getHasSoftAlias
in interface ImmutableSource
getHasSoftAlias
in interface ImmutableTarget
public final ImmutableName[] getL_SoftAlias()
getL_SoftAlias
in interface ImmutableSource
getL_SoftAlias
in interface ImmutableTarget
public final ImmutableName[] getL_AcsOfSoftReferences()
getL_AcsOfSoftReferences
in interface ImmutableSource
getL_AcsOfSoftReferences
in interface ImmutableTarget
public boolean equals(java.lang.Object _obj)
equals
in interface BaseObject
equals
in interface ImmutableVirtualFolder
equals
in class java.lang.Object
_obj
- to compare to this instance
public void addPropertyChangeListener(java.beans.PropertyChangeListener _l)
addPropertyChangeListener
in interface BaseBeanManager
addPropertyChangeListener
in interface BoundBean
addPropertyChangeListener
in interface Folder
addPropertyChangeListener
in class FolderAbst
_l
- to add. Caution: the listener must NOT
have specific hashCode() and equals() methods, to work with HashSet
in the removing operations.public void addPropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
addPropertyChangeListener
in interface BaseBeanManager
addPropertyChangeListener
in interface BoundBean
addPropertyChangeListener
in interface Folder
addPropertyChangeListener
in class FolderAbst
_propertyName
- is the name of the property_l
- 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
removePropertyChangeListener
in interface Folder
removePropertyChangeListener
in class FolderAbst
_l
- to removepublic void removePropertyChangeListener(java.lang.String _propertyName, java.beans.PropertyChangeListener _l)
removePropertyChangeListener
in interface BaseBeanManager
removePropertyChangeListener
in interface BoundBean
removePropertyChangeListener
in interface Folder
removePropertyChangeListener
in class FolderAbst
_propertyName
- is the name of the property_l
- to removepublic java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String _propertyName)
getPropertyChangeListeners
in interface ImmutableVirtualFolder
_propertyName
- name of the listened property.
protected void setEorReferenceAsInternalHardAlias(ACSObject _ref) throws UpDateError
_ref
- the reference. May be null.
UpDateError
- _ref does not belong to the same ACS or the type is
immutableprotected void setEorAliasAsInternalHardReference(ACSObject _ali) throws UpDateError
_ali
- the alias. May be null.
UpDateError
- _basic does not belong to the same ACS or
the master is already an aliasprotected void addEorSoftAlias(ImmutableName _alias) throws UpDateError
_alias
- internal or external ACSObject. No action if null, or already known.
UpDateError
- _alias belongs to the same ACS or the type is
immutable
java.lang.InternalError
- if the list is null. If
firePropertyChange() throws an exception, displays an user message.protected void removeEorSoftAlias(ImmutableName _alias) throws UpDateError
_alias
- is an external alias. No action if null.
UpDateError
- if _alias is not known.protected void addAcsOfSoftReferences(ImmutableName _acs) throws UpDateError
_acs
- ACS name. No action if null, or already known.
UpDateError
- if the type is immutableprotected void removeAcsOfSoftReferences(ImmutableName _acs) throws UpDateError
_acs
- ACS name. No action if null.
UpDateError
- if _acs is not known.public void finalizeForUser() throws UpDateError
finalizeForUser
in interface FinalizedObjectForUser
UpDateError
- if the object type contains 'byAcsCreator', starts with
or ends with 'immutable', from finalizeFromBase() or
AssociateUtilityImpl.removeAssociatesAfterDeletion()public void finalizeForBase() throws UpDateError
finalizeForBase
in interface FinalizedObject
finalizeForBase
in class FolderAbst
UpDateError
- from Basic.removeInVFolderList()public int compareTo(java.lang.Object _o) throws java.lang.ClassCastException
compareTo
in interface ImmutableLeaf
compareTo
in interface java.lang.Comparable
_o
- to compare must be an ImmutableLeaf
java.lang.ClassCastException
- - if the specified object's type
prevents it from being compared to this current Objectpublic ImmutableName getAcsName()
getAcsName
in interface ACSObject
public ImmutableVirtualFolder[] getEorL_Children()
getEorL_Children
in interface ImmutableVirtualFolder
public ImmutableNode getEorParent()
getEorParent
in interface ImmutableLeaf
public java.util.List getEorL_TargetPrivilegeForLinks()
getEorL_TargetPrivilegeForLinks
in interface ImmutablePrivilegeTarget
public java.util.List getEorL_TargetPrivilegeForTypes()
getEorL_TargetPrivilegeForTypes
in interface ImmutablePrivilegeTarget
public java.util.List getEorL_TargetPrivileges()
- PrivilegeForLinks: linked privilege established for a couple (ACSObject, privilege),
- PrivilegeForType: typed privilege, where the ACSObject and the privilege has a common type, but without the TYPED_FOR_SEED and TYPED_CLASSED_SPECIFIC privileges.
getEorL_TargetPrivileges
in interface ImmutablePrivilegeTarget
public void addEorPrivilegeForTypeToTarget(PrivilegeForType _priv) throws BaseError
addEorPrivilegeForTypeToTarget
in interface PrivilegeTarget
_priv
- to register in the target
BaseError
- if this instance is not a privilege target,
if the privilege second type is not authorized for this target.protected void addEorPrivilegeForLinksToTarget(PrivilegeForLinks _priv) throws BaseError
_priv
- to register in the target
BaseError
- if this instance is not a privilege target,
if the privilege second type is not authorized for this target.public void removeEorPrivilegeToTarget(Privilege _priv) throws BaseError
removeEorPrivilegeToTarget
in interface PrivilegeTarget
_priv
- to remove
BaseError
- if the privilege and this source is unknown.public java.util.List<PrivilegeForLinks> getEorImmutableL_TargetInheritedLinkedPrivileges()
getEorImmutableL_TargetInheritedLinkedPrivileges
in interface ImmutablePrivilegeTarget
protected java.util.List<PrivilegeForLinks> getEorL_TargetInheritedLinkedPrivileges()
public java.util.Map<java.lang.String,StringRight[]> getM_TargetInheritedLinkedPRIRights()
getM_TargetInheritedLinkedPRIRights
in interface ImmutablePrivilegeTarget
protected void setEorL_TargetInheritedLinkedPrivileges(java.util.ArrayList<PrivilegeForLinks> _l_priv)
_l_priv
- list of one-target Linked Privileges. May be empty, but never null.
java.lang.InternalError
- if a privilege has the LINKED_IF_ALL_SOURCE type, or
if it has not exactly one target.public void resetInheritedPrivilegeRights(PrivilegeForLinks _lpri)
resetInheritedPrivilegeRights
in interface VirtualFolder
_lpri
- inherited Privilege with updated rights. Never null.public PrivilegeForLinks selectInheritedPrivilege(PrivilegeForLinks _lpri, java.lang.String _type)
selectInheritedPrivilege
in interface ImmutablePrivilegeTarget
selectInheritedPrivilege
in interface VirtualFolder
_lpri
- the initial Privilege which may be given to the child_type
- type of a child, as VirtualFolder
public void resetInheritedPrivilegeRightsOfChildren(PrivilegeForLinks _lpri)
- one at the privilege creation/deletion, and this is not done in the generic gBase package,
- one at their sources editing,
This method is called for handling the second case, to update the children of the VirtualFolder which is the target of the Privilege. Not described in the BeanInfo since the user does not call it. Called by PrivilegeForLinksImpl.resetRightsAsInheritedPrivilege().
resetInheritedPrivilegeRightsOfChildren
in interface VirtualFolder
_lpri
- inherited privilege with updated sourcespublic boolean getMemberOneTimeInTree()
ImmutableVirtualFolder
getMemberOneTimeInTree
in interface ImmutableVirtualFolder
protected void addInViewList(ViewInBase _view)
_view
- to addprotected boolean removeInViewList(ViewInBase _view)
_view
- to remove
protected void addEorChild(ImmutableLeaf _child)
_child
- is a VirtualFolder (not a simple leaf) to put in this Node.
No action if null, or already known.
java.lang.InternalError
- if the leaves list is null, or if _child
is not a VirtualFolder. If firePropertyChange() throws an exception,
displays an user message.protected void removeEorChild(ImmutableLeaf _child) throws UpDateError
_child
- is a virtual folder which is in this CNode. No action if
null.
UpDateError
- if _child is not known.protected void finalizeFromDeserialization()
finalizeFromDeserialization
in class FolderAbst
public int fastHashCode()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |