ó
|c‹Ac           @   s=   d  Z  d d l m Z d d l m Z d d d „  ƒ  YZ d S(   s<    Member class
    http://www.topicmaps.org/xtm/#desc-member
iÿÿÿÿ(   t   TopicRef(   t   RoleSpect   Memberc           B   sP   e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   sD    Member class
        http://www.topicmaps.org/xtm/#desc-member
    c         C   s)   g  |  _  | r% |  j t | ƒ ƒ n  d S(   sG   Initialize Member object. (id=None) - Add TopicRef object with given idN(   t	   _childrent   setTopicRefR    (   t   selft   id(    (    s   lib/xtm/Member.pyt   __init__   s    	 c         C   s   |  j  | ƒ d S(   s   Add TopicRef objectN(   t   addChild(   R   t   topicRef(    (    s   lib/xtm/Member.pyR      s    c         C   sI   g  |  j  D] } t | t ƒ r
 | ^ q
 } | r> | d g pD d g d S(   s   Return TopicRef object or "" i    t    (   R   t
   isinstanceR    (   R   R	   t   topicRefChildren(    (    s   lib/xtm/Member.pyt   getTopicRef   s    +c         C   s   |  j  | ƒ d S(   s   Add RoleSpec objectN(   R   (   R   t   role(    (    s   lib/xtm/Member.pyt   setRoleSpec   s    c         C   sI   g  |  j  D] } t | t ƒ r
 | ^ q
 } | r> | d g pD d g d S(   s   Return RoleSpec object or "" i    R
   (   R   R   R   (   R   t   roleSpect   roleSpecChildren(    (    s   lib/xtm/Member.pyt   getRoleSpec    s    +c         C   s   |  j  j | ƒ d S(   s#   Add object (:TopicRef or :RoleSpec)N(   R   t   append(   R   t   child(    (    s   lib/xtm/Member.pyR   %   s    c         C   s   d |  j  ƒ  |  j ƒ  f S(   s.   Return XTM:str representation of Member objects   <member>%s%s</member>(   R   R   (   R   (    (    s   lib/xtm/Member.pyt   __str__)   s    N(   t   __name__t
   __module__t   __doc__t   NoneR   R   R   R   R   R   R   (    (    (    s   lib/xtm/Member.pyR   
   s   					N(    (   R   t   xtm.TopicRefR    t   xtm.RoleSpecR   R   (    (    (    s   lib/xtm/Member.pyt   <module>   s   