home contents changes options help subscribe edit (external edit)

Interfaces objects currently describe the following meta-data:

Interface -- An Interface object describes:

o A name

o Documentation

o A list of attributes

Attribute -- An attribute object describes:

o A name

o Documentation

Method -- A method object describes:

o A Name

o Documentation

o Method signature information

It is desireable to support an extensible meta-data framework so that Interface authors can associate more interesting meta-data with an interface. In particular, security assertions in Zope could benefit from this facility. Some possible uses for extended meta-data are:

o Pre/Post conditions

o return type/description

o Security assertions

o Exceptions raised and their meaning

o Examples

Proposal:

In UML parlance, extra data can be associated with a class, interface, or object through tagged values. This proposal tries to match this common design concept for extensible meta data on interface objects.

Extend the Inteface, Attribute, and Method interfaces to include the following methods:

getTaggedValue(tag) -- Return the value of the meta-data associated with 'tag'.

getTaggedValueTags() -- Return a list of all meta-data tags.

setTaggedValue(tag, value) -- Associate the meta-data 'value' with 'tag'.



subject:
  ( 1 subscriber )