ZenRelations :: ToManyContRelationship :: ToManyContRelationship :: Class ToManyContRelationship
[hide private]
[frames] | no frames]

Class ToManyContRelationship

source code

                            ExtensionClass.Base --+            
                                                  |            
                      OFS.CopySupport.CopyContainer --+        
                                                      |        
                        RelCopySupport.RelCopyContainer --+    
                                                          |    
                        ExtensionClass.Base --+           |    
                                              |           |    
                    ExtensionClass.Base --+   |           |    
                                          |   |           |    
                 OFS.CopySupport.CopySource --+           |    
                                              |           |    
                    ExtensionClass.Base --+   |           |    
                                          |   |           |    
                        App.Management.Tabs --+           |    
                                              |           |    
                OFS.Traversable.Traversable --+           |    
                                              |           |    
                    ExtensionClass.Base --+   |           |    
                                          |   |           |    
                  AccessControl.Owned.Owned --+           |    
                                              |           |    
                                    ZItem.ZItem --+       |    
                                                  |       |    
                           Acquisition.Implicit --+       |    
                                                  |       |    
                        ExtensionClass.Base --+   |       |    
                                              |   |       |    
AccessControl.PermissionMapping.RoleManager --+   |       |    
                                              |   |       |    
                 AccessControl.Role.RoleManager --+       |    
                                                  |       |    
        PrimaryPathObjectManager.PrimaryPathManager --+   |    
                                                      |   |    
                      RelationshipBase.RelationshipBase --+    
                                                          |    
              ToManyRelationshipBase.ToManyRelationshipBase --+
                                                              |
                                                             ToManyContRelationship

ToManyContRelationship is the ToMany side of a realtionship that contains its related objects (like the normal Zope ObjectManager)

Instance Methods [hide private]
 
__init__(self, id)
set our instance values
source code
 
__call__(self)
when we are called return our related object in our aq context
source code
 
__getattr__(self, name)
look in the two object stores for related objects
source code
 
__hasattr__(self, name)
check to see if we have an object by an id this will fail if passed a short id and object is stored with fullid (ie: it is related not contained) use hasobject to get around this issue
source code
 
hasobject(self, obj)
check to see if we have this object
source code
 
addRelation(self, obj)
Override base to run manage_afterAdd like ObjectManager
source code
 
_setObject(self, id, object, roles=None, user=None, set_owner=1)
ObjectManager interface to add contained object.
source code
 
manage_afterAdd(self, item, container)
Copied code from ObjectManager
source code
 
manage_afterClone(self, item)
Copied code from ObjectManager
source code
 
manage_beforeDelete(self, item, container)
Copied code from ObjectManager
source code
 
_add(self, obj)
add an object to one side of a ToManyContRelationship.
source code
 
_remove(self, obj=None)
remove object from our side of a relationship
source code
 
_remoteRemove(self, obj=None)
remove an object from the far side of this relationship if no object is passed in remove all objects
source code
 
_getOb(self, id, default=zenmarker)
look up in our local store and wrap in our aq_chain
source code
 
objectIds(self, spec=None)
only return contained objects
source code
 
objectIdsAll(self, spec=None)
only return contained objects
source code
 
objectValues(self, spec=None)
override to only return owned objects for many to many rel
source code
 
objectValuesAll(self, spec=None)
override to only return owned objects for many to many rel
source code
 
objectValuesGen(self)
Generator that returns all related objects.
source code
 
objectItems(self, spec=None)
over ride to only return owned objects for many to many rel
source code
 
objectItemsAll(self, spec=None)
over ride to only return owned objects for many to many rel
source code
 
_getCopy(self, container)
make new relation add copies of contained objs and refs if the relation is a many to many
source code
 
exportXml(self, ofile, ignorerels=[])
Return an xml representation of a ToManyContRelationship <tomanycont id='interfaces'> <object id='hme0' module='Products.Confmon.IpInterface' class='IpInterface'> <property></property> etc....
source code

Inherited from ToManyRelationshipBase.ToManyRelationshipBase: countObjects, findObjectsById, manage_workspace

Inherited from ToManyRelationshipBase.ToManyRelationshipBase (private): _delOb, _delObject, _setOb

Inherited from RelCopySupport.RelCopyContainer: manage_linkObjects, manage_renameObject, manage_unlinkObjects

Inherited from RelCopySupport.RelCopyContainer (private): _getRelName, _getSourceObjects, _verifyObjectLink, _verifyObjectPaste

Inherited from OFS.CopySupport.CopyContainer: cb_dataItems, cb_dataValid, manage_CopyContainerAllItems, manage_CopyContainerFirstItem, manage_clone, manage_copyObjects, manage_cutObjects, manage_pasteObjects, manage_renameObjects, validClipData

Inherited from OFS.CopySupport.CopyContainer (private): _get_id

Inherited from RelationshipBase.RelationshipBase: cb_isCopyable, cb_isMoveable, checkRelation, getId, getPrimaryParent, getRelationshipManagerClass, remoteClass, remoteName, remoteType, remoteTypeName, removeRelation

Inherited from PrimaryPathObjectManager.PrimaryPathManager: getPrimaryId, getPrimaryPath, getPrimaryUrlPath, primaryAq

Inherited from ZItem.ZItem: __len__, __repr__, manage, manage_FTPlist, manage_FTPstat, manage_editedDialog, raise_standardErrorMessage, this, title_and_id, title_or_id, tpURL, tpValues

Inherited from OFS.CopySupport.CopySource: cb_userHasCopyOrMovePermission

Inherited from OFS.CopySupport.CopySource (private): _canCopy, _notifyOfCopyTo, _postCopy, _setId

Inherited from App.Management.Tabs: class_manage_path, filtered_manage_options, tabs_path_default, tabs_path_info

Inherited from OFS.Traversable.Traversable: absolute_url, absolute_url_path, getPhysicalPath, restrictedTraverse, unrestrictedTraverse, virtual_url_path

Inherited from AccessControl.Owned.Owned: changeOwnership, getOwner, getOwnerTuple, getWrappedOwner, manage_changeOwnershipType, manage_fixupOwnershipAfterAdd, manage_takeOwnership, owner_info, userCanTakeOwnership

Inherited from AccessControl.Owned.Owned (private): _deleteOwnershipAfterAdd

Inherited from AccessControl.Role.RoleManager: ac_inherited_permissions, access_debug_info, acquiredRolesAreUsedBy, get_local_roles, get_local_roles_for_userid, get_valid_userids, has_local_roles, manage_access, manage_acquiredPermissions, manage_addLocalRoles, manage_changePermissions, manage_defined_roles, manage_delLocalRoles, manage_editRoles, manage_permission, manage_role, manage_setLocalRoles, permission_settings, permissionsOfRole, possible_permissions, rolesOfPermission, userdefined_roles, users_with_local_role, validRoles, valid_roles, validate_roles

Inherited from AccessControl.Role.RoleManager (private): _addRole, _delRoles, _has_user_defined_role, _setRoles

Inherited from AccessControl.PermissionMapping.RoleManager: manage_getPermissionMapping, manage_setPermissionMapping

Inherited from AccessControl.PermissionMapping.RoleManager (private): _isBeingAccessedAsZClassDefinedInstanceMethod, _isBeingUsedAsAMethod

Class Variables [hide private]
  meta_type = "ToManyContRelationship"
  security = ClassSecurityInfo()

Inherited from ToManyRelationshipBase.ToManyRelationshipBase: manage_main, manage_options

Inherited from ToManyRelationshipBase.ToManyRelationshipBase (private): _operation

Inherited from OFS.CopySupport.CopyContainer: __ac_permissions__, manage_renameForm

Inherited from ZItem.ZItem: REQUEST, __allow_access_to_unprotected_subobjects__, __name__, __propsets__, icon, id, isPrincipiaFolderish, isTopLevelPrincipiaApplicationObject, title

Inherited from ZItem.ZItem (private): _manage_editedDialog

Inherited from App.Management.Tabs: manage_tabs

Inherited from OFS.Traversable.Traversable: getPhysicalRoot

Inherited from AccessControl.Owned.Owned: manage_owner

Inherited from AccessControl.Role.RoleManager: __ac_local_roles__, __ac_roles__, aclAChecked, aclEChecked, aclPChecked, manage_acquiredForm, manage_editLocalRoles, manage_listLocalRoles, manage_permissionForm, manage_roleForm, permissionMappingPossibleValues, selectedRoles, smallRolesWidget

Inherited from AccessControl.Role.RoleManager (private): _method_manage_access, _normal_manage_access

Method Details [hide private]

__call__(self)
(Call operator)

source code 
when we are called return our related object in our aq context
Overrides: RelationshipBase.RelationshipBase.__call__

hasobject(self, obj)

source code 
check to see if we have this object
Overrides: RelationshipBase.RelationshipBase.hasobject

addRelation(self, obj)

source code 
Override base to run manage_afterAdd like ObjectManager
Overrides: RelationshipBase.RelationshipBase.addRelation

manage_afterAdd(self, item, container)

source code 
Copied code from ObjectManager
Overrides: ZItem.ZItem.manage_afterAdd

manage_afterClone(self, item)

source code 
Copied code from ObjectManager
Overrides: ZItem.ZItem.manage_afterClone

manage_beforeDelete(self, item, container)

source code 
Copied code from ObjectManager
Overrides: ZItem.ZItem.manage_beforeDelete

_add(self, obj)

source code 
add an object to one side of a ToManyContRelationship.
Overrides: RelationshipBase.RelationshipBase._add

_remove(self, obj=None)

source code 
remove object from our side of a relationship
Overrides: RelationshipBase.RelationshipBase._remove

_remoteRemove(self, obj=None)

source code 
remove an object from the far side of this relationship if no object is passed in remove all objects
Overrides: RelationshipBase.RelationshipBase._remoteRemove

_getOb(self, id, default=zenmarker)

source code 
look up in our local store and wrap in our aq_chain
Overrides: ToManyRelationshipBase.ToManyRelationshipBase._getOb

objectIds(self, spec=None)

source code 
only return contained objects
Overrides: ZItem.ZItem.objectValues

objectValues(self, spec=None)

source code 
override to only return owned objects for many to many rel
Overrides: ZItem.ZItem.objectValues

objectItems(self, spec=None)

source code 
over ride to only return owned objects for many to many rel
Overrides: ZItem.ZItem.objectValues

_getCopy(self, container)

source code 
make new relation add copies of contained objs and refs if the relation is a many to many
Overrides: OFS.CopySupport.CopySource._getCopy

exportXml(self, ofile, ignorerels=[])

source code 
Return an xml representation of a ToManyContRelationship
<tomanycont id='interfaces'>
    <object id='hme0' 
        module='Products.Confmon.IpInterface' class='IpInterface'>
        <property></property> etc....
    </object>
</tomanycont>