module documentation
zmsproxyobject.py - ZMS Proxy Object
Provides ZMSProxyObject for core content-object traversal and manipulation.
The ZMSProxyObject class is a wrapper/proxy object used throughout the ZMS runtime to:
- Enable transparent traversal of ZMS content hierarchies by encapsulating access to underlying content objects and their metadata.
- Provide a consistent interface for accessing object attributes, child nodes, and properties while delegating actual operations to the proxied object.
- Support recursive traversal of nested content structures, allowing child nodes to be wrapped as proxy objects for uniform access patterns.
- Implement metadata access protocols (IZMSMetamodelProvider, IZMSFormatProvider) for introspection of object type definitions and text formatting capabilities.
- Handle URL construction and physical path resolution within the ZMS content tree.
- Facilitate request/response handling and access control checks across the object hierarchy.
- Enable lazy evaluation and computed properties without exposing underlying implementation details.
This abstraction enables flexible content traversal strategies, caching mechanisms, and alternative rendering pipelines while maintaining a unified API for ZMS components that work with content objects.
Key responsibilities:
- Wrapping proxied ZMS objects with additional traversal metadata (root, base, url_base)
- Delegating method calls to the proxied object while transforming return values as needed
- Supporting both simple and recursive child node traversal patterns
- Managing object hierarchy relationships (parent/child navigation, physical paths)
- Providing unified access to metadata definitions and format specifications
License: GNU General Public License v2 or later, Organization: ZMS Publishing
| Class | |
Provide helpers for ZMSProxyObject. |