Source code for Products.PluggableAuthService.interfaces.propertysheets
##############################################################################
#
# Copyright (c) 2001 Zope Foundation and Contributors
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this
# distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
""" Interfaces: IPropertySheet
$Id$
"""
from zope.interface import Interface
[docs]
class IPropertySheet(Interface):
""" Interface for queryable property sheets.
o Objects implementing this interface can play in read-only fashion
in OFS.PropertySheets' framework.
"""
def getId():
""" Identify the sheet within a collection.
"""
def hasProperty(id):
""" Does the sheet have a property corresponding to 'id'?
"""
def getProperty(id, default=None):
""" Return the value of the property corresponding to 'id'.
o If no such property exists within the sheet, return 'default'.
"""
def getPropertyType(id):
""" Return the string identifying the type of property, 'id'.
o If no such property exists within the sheet, return None.
"""
def propertyInfo(id):
""" Return a mapping describing property, 'id'.
o Keys must include:
'id' -- the unique identifier of the property.
'type' -- the string identifying the property type.
'meta' -- a mapping containing additional info about the property.
"""
def propertyMap():
""" Return a tuple of 'propertyInfo' mappings, one per property.
"""
def propertyIds():
""" Return a sequence of the IDs of the sheet's properties.
"""
def propertyValues():
""" Return a sequence of the values of the sheet's properties.
"""
def propertyItems():
""" Return a sequence of (id, value) tuples, one per property.
"""