001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.party;
008    
009    import org.eclipse.emf.common.util.EList;
010    
011    /**
012     * <!-- begin-user-doc -->
013     * A representation of the model object '<em><b>Role</b></em>'.
014     * <!-- end-user-doc -->
015     *
016     * <!-- begin-model-doc -->
017     * Party role.
018     * <!-- end-model-doc -->
019     *
020     * <p>
021     * The following features are supported:
022     * <ul>
023     *   <li>{@link com.hammurapi.party.Role#getParty <em>Party</em>}</li>
024     *   <li>{@link com.hammurapi.party.Role#getName <em>Name</em>}</li>
025     *   <li>{@link com.hammurapi.party.Role#getOwner <em>Owner</em>}</li>
026     * </ul>
027     * </p>
028     *
029     * @see com.hammurapi.party.PartyPackage#getRole()
030     * @model
031     * @generated
032     */
033    public interface Role extends DateEffectiveObject {
034            /**
035             * Returns the value of the '<em><b>Party</b></em>' reference list.
036             * The list contents are of type {@link com.hammurapi.party.Party}.
037             * <!-- begin-user-doc -->
038             * <!-- end-user-doc -->
039             * <!-- begin-model-doc -->
040             * Parties playing given role.
041             * <!-- end-model-doc -->
042             * @return the value of the '<em>Party</em>' reference list.
043             * @see com.hammurapi.party.PartyPackage#getRole_Party()
044             * @model
045             * @generated
046             */
047            EList<Party> getParty();
048    
049            /**
050             * Returns the value of the '<em><b>Name</b></em>' attribute.
051             * <!-- begin-user-doc -->
052             * <!-- end-user-doc -->
053             * <!-- begin-model-doc -->
054             * Role name.
055             * <!-- end-model-doc -->
056             * @return the value of the '<em>Name</em>' attribute.
057             * @see #setName(String)
058             * @see com.hammurapi.party.PartyPackage#getRole_Name()
059             * @model required="true"
060             * @generated
061             */
062            String getName();
063    
064            /**
065             * Sets the value of the '{@link com.hammurapi.party.Role#getName <em>Name</em>}' attribute.
066             * <!-- begin-user-doc -->
067             * <!-- end-user-doc -->
068             * @param value the new value of the '<em>Name</em>' attribute.
069             * @see #getName()
070             * @generated
071             */
072            void setName(String value);
073    
074            /**
075             * Returns the value of the '<em><b>Owner</b></em>' container reference.
076             * It is bidirectional and its opposite is '{@link com.hammurapi.party.CommonObject#getRoles <em>Roles</em>}'.
077             * <!-- begin-user-doc -->
078             * <p>
079             * If the meaning of the '<em>Owner</em>' container reference isn't clear,
080             * there really should be more of a description here...
081             * </p>
082             * <!-- end-user-doc -->
083             * @return the value of the '<em>Owner</em>' container reference.
084             * @see #setOwner(CommonObject)
085             * @see com.hammurapi.party.PartyPackage#getRole_Owner()
086             * @see com.hammurapi.party.CommonObject#getRoles
087             * @model opposite="roles" transient="false"
088             * @generated
089             */
090            CommonObject getOwner();
091    
092            /**
093             * Sets the value of the '{@link com.hammurapi.party.Role#getOwner <em>Owner</em>}' container reference.
094             * <!-- begin-user-doc -->
095             * <!-- end-user-doc -->
096             * @param value the new value of the '<em>Owner</em>' container reference.
097             * @see #getOwner()
098             * @generated
099             */
100            void setOwner(CommonObject value);
101    
102    } // Role