summaryrefslogtreecommitdiff
path: root/docs/api
diff options
context:
space:
mode:
authorJason Madden <jamadden@gmail.com>2018-07-19 12:16:24 -0500
committerJason Madden <jamadden@gmail.com>2018-07-19 12:16:24 -0500
commit9014dd0b76c2481988bf59e8c630feee6325f504 (patch)
treee41c684eb839ade2ce992c94858a7e94e6d4ec22 /docs/api
parentbf6228076dd86bc51acf325025d544394cd07773 (diff)
downloadzope-interface-9014dd0b76c2481988bf59e8c630feee6325f504.tar.gz
Cross ref from ISpecification to IDeclaration.
Diffstat (limited to 'docs/api')
-rw-r--r--docs/api/specifications.rst27
1 files changed, 14 insertions, 13 deletions
diff --git a/docs/api/specifications.rst b/docs/api/specifications.rst
index 06895e9..72bf8f3 100644
--- a/docs/api/specifications.rst
+++ b/docs/api/specifications.rst
@@ -5,11 +5,15 @@
.. currentmodule:: zope.interface.interfaces
-This document discusses the actual interface objects themselves. The
-broader concept is of "specifications."
+This document discusses the actual interface objects themselves. We
+begin with a basic concept of specifying an object's behaviour (with
+an `ISpecification`), and then we describe the way we write such a
+specification (`IInterface`). Combinations of specifications (e.g., an
+object that provides multiple interfaces) are covered by
+`IDeclaration`.
-``zope.interface.interface.Specification``
-==========================================
+Specification
+=============
Specification objects implement the API defined by
:class:`ISpecification`:
@@ -20,9 +24,6 @@ Specification objects implement the API defined by
.. autoclass:: zope.interface.interface.Specification
-Usage
------
-
For example:
.. doctest::
@@ -47,7 +48,7 @@ For example:
>>> I3.extends(I1)
False
-Exmples for :meth:`Specification.providedBy`:
+Exmples for :meth:`.Specification.providedBy`:
.. doctest::
@@ -73,7 +74,7 @@ Exmples for :meth:`Specification.providedBy`:
>>> I1.providedBy(C)
True
-Examples for :meth:`Specification.isOrExtends`:
+Examples for :meth:`.Specification.isOrExtends`:
.. doctest::
@@ -102,7 +103,7 @@ Examples for :meth:`Specification.isOrExtends`:
>>> int(spec.extends(I4))
0
-Examples for :meth:`Specification.interfaces`:
+Examples for :meth:`.Specification.interfaces`:
.. doctest::
@@ -123,7 +124,7 @@ Examples for :meth:`Specification.interfaces`:
>>> list(i)
[]
-Exmples for :meth:`Specification.extends`:
+Exmples for :meth:`.Specification.extends`:
.. doctest::
@@ -159,8 +160,8 @@ Exmples for :meth:`Specification.extends`:
True
-``zope.interface.Interface``
-============================
+Interface
+=========
Interfaces are a particular type of `ISpecification` and implement the
API defined by :class:`IInterface`.