Products :: 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 --+           |
                                          |           |
              AccessControl.Owned.Owned --+           |
                                          |           |
                                ZItem.ZItem --+       |
                                              |       |
                       Acquisition.Implicit --+       |
                                              |       |
             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
_safeOfObjects(self) Try to safely return ZenPack objects rather than causing imports to fail. | 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) | source code
manage_afterClone(self, item) | source code
manage_beforeDelete(self, item, container) | source code
_add(self, obj) add an object to one side of a ToManyContRelationship. | source code
_remove(self, obj=None, suppress_events=False) 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
checkValidId(self, id) Is this a valid id for this container? | 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
checkRelation(self, repair=False) Check to make sure that relationship bidirectionality is ok. | source code
Inherited from `ToManyRelationshipBase.ToManyRelationshipBase`: `countObjects`, `findObjectsById`, `manage_workspace`, `setCount` Inherited from `ToManyRelationshipBase.ToManyRelationshipBase` (private): `_delOb`, `_delObject`, `_setOb` Inherited from `RelCopySupport.RelCopyContainer`: `manage_linkObjects`, `manage_unlinkObjects` Inherited from `RelCopySupport.RelCopyContainer` (private): `_checkId`, `_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_renameObject`, `manage_renameObjects`, `validClipData` Inherited from `OFS.CopySupport.CopyContainer` (private): `_get_id` Inherited from `RelationshipBase.RelationshipBase`: `cb_isCopyable`, `cb_isMoveable`, `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`, `this`, `titleOrId`, `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`: `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`

Class Variables | [hide private]
| meta_type = `"ToManyContRelationship"`
| security = `ClassSecurityInfo()`
Inherited from `ToManyRelationshipBase.ToManyRelationshipBase`: `manage_main`, `manage_options` Inherited from `ToManyRelationshipBase.ToManyRelationshipBase` (private): `_count`, `_operation` Inherited from `OFS.CopySupport.CopyContainer`: `manage_renameForm` Inherited from `ZItem.ZItem`: `REQUEST`, `__allow_access_to_unprotected_subobjects__`, `__name__`, `__propsets__`, `getId__roles__`, `icon`, `id`, `isPrincipiaFolderish`, `isTopLevelPrincipiaApplicationObject`, `title` Inherited from `ZItem.ZItem` (private): `_manage_editedDialog` Inherited from `App.Management.Tabs`: `manage_tabs`, `manage_workspace__roles__` Inherited from `OFS.Traversable.Traversable`: `getPhysicalRoot`

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

### _add(self, obj) | source code
add an object to one side of a ToManyContRelationship. Overrides: RelationshipBase.RelationshipBase._add

### _remove(self, obj=None, suppress_events=False) | 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: OFS.CopySupport.CopyContainer._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>

### checkRelation(self, repair=False) | source code
Check to make sure that relationship bidirectionality is ok. Overrides: RelationshipBase.RelationshipBase.checkRelation