U
    H4f                     @   sR   d Z ddddgZG dd dZG dd deZG dd deZG dd deZd	S )
z
zeep.xsd.elements.references
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ref* objecs are only used temporarily between parsing the schema and resolving
all the elements.


RefElementRefAttributeRefAttributeGroupRefGroupc                   @   s   e Zd ZdddZdd ZdS )	r   F   c                 C   s"   || _ || _|| _|| _|| _d S N)_refZ_is_qualified_schema
min_occurs
max_occurs)selftagrefZschemaZis_qualifiedr	   r
    r   @/tmp/pip-unpacked-wheel-04z2hmy8/zeep/xsd/elements/references.py__init__   s
    zRefElement.__init__c                 C   s,   | j | j}|j|j| j| jd}| S N)r	   r
   )r   Zget_elementr   cloneqnamer	   r
   resolver   elmr   r   r   r      s      zRefElement.resolveN)Fr   r   )__name__
__module____qualname__r   r   r   r   r   r   r      s
        
	c                       s$   e Zd Z fddZdd Z  ZS )r   c                    s    | dd | _t j|| d S )N
array_type)pop_array_typesuperr   )r   argskwargs	__class__r   r   r      s    zRefAttribute.__init__c                 C   s(   | j | j}|j|j| jd}| S )N)r   )r   Zget_attributer   r   r   r   r   )r   attribr   r   r   r   #   s    zRefAttribute.resolve)r   r   r   r   r   __classcell__r   r   r    r   r      s   c                   @   s   e Zd Zdd ZdS )r   c                 C   s   | j | j}| S r   )r   Zget_attribute_groupr   r   )r   valuer   r   r   r   *   s    zRefAttributeGroup.resolveNr   r   r   r   r   r   r   r   r   )   s   c                   @   s   e Zd Zdd ZdS )r   c                 C   s(   | j | j}|j|j| j| jd}|S r   )r   Z	get_groupr   r   r   r	   r
   r   r   r   r   r   0   s      zRefGroup.resolveNr%   r   r   r   r   r   /   s   N)__doc____all__r   r   r   r   r   r   r   r   <module>   s
   