from zope.interface import Interface
from zope.schema import Bool


class INextPreviousProvider(Interface):
    """A folderish component capable of describing the next and previous
    item relative to a particular id.
    """

    enabled = Bool(title=u"True if next/previous behaviour is enabled")

    def getNextItem(obj):
        """Returns information about next item in the container relative to
        the given object.

        This is a dict with the following keys:

            - id, the id of the object
            - url, the url of the object
            - title, the title of the object
            - description, a description of the object
            - portal_type, the object's portal type
        """

    def getPreviousItem(obj):
        """Returns the previous item in the container relative to the given
        object
        """
