File: //usr/lib/python3/dist-packages/zope/interface/__pycache__/interfaces.cpython-38.pyc
U
$
x`7� � @ s0 d Z dZddlmZ ddlmZ ddlmZ dddd d
ddd
ddddddddddddgZG dd
� d
e�ZG dd� de�Z G dd� de �Z
G dd� de�ZG dd� dee�ZG dd� de�Z
G d d� de�ZG d!d� de�ZG d"d#� d#e�ZG d$d%� d%e�ZG d&d� de�Zee�G d'd(� d(e��ZG d)d � d e�ZG d*d� de�ZG d+d� de�ZG d,d-� d-e�ZG d.d� de�ZG d/d� de�ZG d0d� de�ZG d1d� de�Zee�G d2d3� d3e��ZG d4d� de�Z ee �G d5d6� d6e��Z!G d7d� de�Z"ee"�G d8d9� d9e��Z#G d:d
� d
e�Z$G d;d� dee$�Z%d<S )=zInterface Package Interfaces
�restructuredtext� )� Attribute)� Interface)�implementer�IAdapterRegistration�IAdapterRegistry�
IAttribute�IComponentLookup�IComponentRegistry�IComponents�IDeclaration�IElement�IHandlerRegistration�
IInterface�IInterfaceDeclaration�IMethod�IObjectEvent�IRegistered�
IRegistration�IRegistrationEvent�ISpecification� ISubscriptionAdapterRegistration�
IUnregistered�IUtilityRegistrationc @ s` e Zd ZdZedd�Z edd�Zdd� Zdd d
�Zdd� Zd
d� Zdd� Z ddd�Z
dd� ZdS )r
a�
Objects that have basic documentation and tagged values.
Known derivatives include :class:`IAttribute` and its derivative
:class:`IMethod`; these have no notion of inheritance.
:class:`IInterface` is also a derivative, and it does have a
notion of inheritance, expressed through its ``__bases__`` and
ordered in its ``__iro__`` (both defined by
:class:`ISpecification`).
�__name__zThe object name�__doc__zThe object doc stringc C s dS )a� Returns the value associated with *tag*.
Raise a `KeyError` if the tag isn't set.
If the object has a notion of inheritance, this searches
through the inheritance hierarchy and returns the nearest result.
If there is no such notion, this looks only at this object.
.. versionchanged:: 4.7.0
This method should respect inheritance if present.
N� ��tagr r �;/usr/lib/python3/dist-packages/zope/interface/interfaces.py�getTaggedValueR s zIElement.getTaggedValueNc C s dS )z�
As for `getTaggedValue`, but instead of raising a `KeyError`, returns *default*.
.. versionchanged:: 4.7.0
This method should respect inheritance if present.
Nr �r �defaultr r r �queryTaggedValue_ s zIElement.queryTaggedValuec C s dS )aZ
Returns a collection of all tags in no particular order.
If the object has a notion of inheritance, this
includes all the inherited tagged values. If there is
no such notion, this looks only at this object.
.. versionchanged:: 4.7.0
This method should respect inheritance if present.
Nr r r r r �getTaggedValueTagsh s zIElement.getTaggedValueTagsc C s dS )zH
Associates *value* with *key* directly in this object.
Nr )r �valuer r r �setTaggedValuet s zIElement.setTaggedValuec C s dS )zk
As for `getTaggedValue`, but never includes inheritance.
.. versionadded:: 5.0.0
Nr r r r r �getDirectTaggedValuey s zIElement.getDirectTaggedValuec C s dS )zm
As for `queryTaggedValue`, but never includes inheritance.
.. versionadded:: 5.0.0
Nr r! r r r �queryDirectTaggedValue� s zIElement.queryDirectTaggedValuec C s dS )z�
As for `getTaggedValueTags`, but includes only tags directly
set on this object.
.. versionadded:: 5.0.0
Nr r r r r �getDirectTaggedValueTags� s z!IElement.getDirectTaggedValueTags)N)N)r �
__module__�__qualname__r r r r# r$ r&