from pyramid.interfaces import ILocation
from zope.interface import Interface
[docs]class INode(ILocation):
"""Marker interface for all nodes (and subclasses)"""
[docs]class IContent(INode):
"""Marker interface for all nodes of type Content
(and subclasses thereof)"""
[docs]class IDocument(IContent):
"""Marker interface for all nodes of type Document
(and subclasses thereof)"""
[docs]class IFile(IContent):
"""Marker interface for all nodes of type File
(and subclasses thereof)"""
[docs]class IDefaultWorkflow(Interface):
"""Marker interface for content classes that want to use the
default workflow"""
[docs]class INavigationRoot(Interface):
"""Marker interface for content nodes / classes that want to be the root
for the navigation.
Considering a content tree like this::
- /a
- /a/a
- /a/b (provides INavigationRoot)
- /a/b/a
- /a/b/b
- /a/b/c
- a/c
The root item for the navigation will be ``/a/b`` for everey context in
or below ``/a/b`` and ``/a`` for every other item.
"""