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>Party</b></em>'.
014 * <!-- end-user-doc -->
015 *
016 * <!-- begin-model-doc -->
017 * Party.
018 * <!-- end-model-doc -->
019 *
020 * <p>
021 * The following features are supported:
022 * <ul>
023 * <li>{@link com.hammurapi.party.Party#getContactInfo <em>Contact Info</em>}</li>
024 * <li>{@link com.hammurapi.party.Party#getIdentity <em>Identity</em>}</li>
025 * <li>{@link com.hammurapi.party.Party#getParent <em>Parent</em>}</li>
026 * <li>{@link com.hammurapi.party.Party#getName <em>Name</em>}</li>
027 * <li>{@link com.hammurapi.party.Party#getUid <em>Uid</em>}</li>
028 * </ul>
029 * </p>
030 *
031 * @see com.hammurapi.party.PartyPackage#getParty()
032 * @model interface="true" abstract="true"
033 * @generated
034 */
035 public interface Party extends Tagged {
036 /**
037 * Returns the value of the '<em><b>Contact Info</b></em>' containment reference list.
038 * The list contents are of type {@link com.hammurapi.party.ContactInfo}.
039 * It is bidirectional and its opposite is '{@link com.hammurapi.party.ContactInfo#getOwner <em>Owner</em>}'.
040 * <!-- begin-user-doc -->
041 * <!-- end-user-doc -->
042 * <!-- begin-model-doc -->
043 * Party has zero or more contacts.
044 * <!-- end-model-doc -->
045 * @return the value of the '<em>Contact Info</em>' containment reference list.
046 * @see com.hammurapi.party.PartyPackage#getParty_ContactInfo()
047 * @see com.hammurapi.party.ContactInfo#getOwner
048 * @model opposite="owner" containment="true"
049 * @generated
050 */
051 EList<ContactInfo> getContactInfo();
052
053 /**
054 * Returns the value of the '<em><b>Identity</b></em>' containment reference list.
055 * The list contents are of type {@link com.hammurapi.party.Identity}.
056 * <!-- begin-user-doc -->
057 * <!-- end-user-doc -->
058 * <!-- begin-model-doc -->
059 * Party can have identitie, e.g. taxpayer ID, internal employee number, department number.
060 * <!-- end-model-doc -->
061 * @return the value of the '<em>Identity</em>' containment reference list.
062 * @see com.hammurapi.party.PartyPackage#getParty_Identity()
063 * @model containment="true"
064 * @generated
065 */
066 EList<Identity> getIdentity();
067
068 /**
069 * Returns the value of the '<em><b>Parent</b></em>' container reference.
070 * It is bidirectional and its opposite is '{@link com.hammurapi.party.Organization#getChildren <em>Children</em>}'.
071 * <!-- begin-user-doc -->
072 * <!-- end-user-doc -->
073 * <!-- begin-model-doc -->
074 * Parties can be nested.
075 * <!-- end-model-doc -->
076 * @return the value of the '<em>Parent</em>' container reference.
077 * @see #setParent(Organization)
078 * @see com.hammurapi.party.PartyPackage#getParty_Parent()
079 * @see com.hammurapi.party.Organization#getChildren
080 * @model opposite="children" transient="false"
081 * @generated
082 */
083 Organization getParent();
084
085 /**
086 * Sets the value of the '{@link com.hammurapi.party.Party#getParent <em>Parent</em>}' container reference.
087 * <!-- begin-user-doc -->
088 * <!-- end-user-doc -->
089 * @param value the new value of the '<em>Parent</em>' container reference.
090 * @see #getParent()
091 * @generated
092 */
093 void setParent(Organization value);
094
095 /**
096 * Returns the value of the '<em><b>Name</b></em>' attribute.
097 * <!-- begin-user-doc -->
098 * <!-- end-user-doc -->
099 * <!-- begin-model-doc -->
100 * Party name.
101 * <!-- end-model-doc -->
102 * @return the value of the '<em>Name</em>' attribute.
103 * @see #setName(String)
104 * @see com.hammurapi.party.PartyPackage#getParty_Name()
105 * @model required="true"
106 * @generated
107 */
108 String getName();
109
110 /**
111 * Sets the value of the '{@link com.hammurapi.party.Party#getName <em>Name</em>}' attribute.
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @param value the new value of the '<em>Name</em>' attribute.
115 * @see #getName()
116 * @generated
117 */
118 void setName(String value);
119
120 /**
121 * Returns the value of the '<em><b>Uid</b></em>' attribute.
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * <!-- begin-model-doc -->
125 * Unique party ID for referencing. It can be one of party identities.
126 * <!-- end-model-doc -->
127 * @return the value of the '<em>Uid</em>' attribute.
128 * @see #setUid(String)
129 * @see com.hammurapi.party.PartyPackage#getParty_Uid()
130 * @model id="true"
131 * @generated
132 */
133 String getUid();
134
135 /**
136 * Sets the value of the '{@link com.hammurapi.party.Party#getUid <em>Uid</em>}' attribute.
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @param value the new value of the '<em>Uid</em>' attribute.
140 * @see #getUid()
141 * @generated
142 */
143 void setUid(String value);
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * <!-- begin-model-doc -->
149 * Party's path in the hierarchy.
150 * <!-- end-model-doc -->
151 * @model kind="operation"
152 * @generated
153 */
154 EList<Party> getPath();
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @model
160 * @generated
161 */
162 void setExternalParent(Organization externalParent);
163
164 } // Party