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>Organization</b></em>'.
014 * <!-- end-user-doc -->
015 *
016 * <!-- begin-model-doc -->
017 * Organization.
018 * <!-- end-model-doc -->
019 *
020 * <p>
021 * The following features are supported:
022 * <ul>
023 * <li>{@link com.hammurapi.party.Organization#getChildren <em>Children</em>}</li>
024 * <li>{@link com.hammurapi.party.Organization#getExternalChildren <em>External Children</em>}</li>
025 * <li>{@link com.hammurapi.party.Organization#getOrganizationType <em>Organization Type</em>}</li>
026 * <li>{@link com.hammurapi.party.Organization#getMatrixedChildren <em>Matrixed Children</em>}</li>
027 * </ul>
028 * </p>
029 *
030 * @see com.hammurapi.party.PartyPackage#getOrganization()
031 * @model
032 * @generated
033 */
034 public interface Organization extends Party {
035 /**
036 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
037 * The list contents are of type {@link com.hammurapi.party.Party}.
038 * It is bidirectional and its opposite is '{@link com.hammurapi.party.Party#getParent <em>Parent</em>}'.
039 * <!-- begin-user-doc -->
040 * <!-- end-user-doc -->
041 * <!-- begin-model-doc -->
042 * Organization's children - organizations or people.
043 * <!-- end-model-doc -->
044 * @return the value of the '<em>Children</em>' containment reference list.
045 * @see com.hammurapi.party.PartyPackage#getOrganization_Children()
046 * @see com.hammurapi.party.Party#getParent
047 * @model opposite="parent" containment="true"
048 * @generated
049 */
050 EList<Party> getChildren();
051
052 /**
053 * Returns the value of the '<em><b>External Children</b></em>' reference list.
054 * The list contents are of type {@link com.hammurapi.party.Party}.
055 * <!-- begin-user-doc -->
056 * <!-- end-user-doc -->
057 * <!-- begin-model-doc -->
058 * External children are defined in files different from organization's definition file. This reference allows to build multi-file, distributed/federated party models.
059 * <!-- end-model-doc -->
060 * @return the value of the '<em>External Children</em>' reference list.
061 * @see com.hammurapi.party.PartyPackage#getOrganization_ExternalChildren()
062 * @model
063 * @generated
064 */
065 EList<Party> getExternalChildren();
066
067 /**
068 * Returns the value of the '<em><b>Organization Type</b></em>' attribute.
069 * <!-- begin-user-doc -->
070 * <!-- end-user-doc -->
071 * <!-- begin-model-doc -->
072 * Type of the organization, e.g. Department, Cross-functional team, Line of Business.
073 * <!-- end-model-doc -->
074 * @return the value of the '<em>Organization Type</em>' attribute.
075 * @see #setOrganizationType(String)
076 * @see com.hammurapi.party.PartyPackage#getOrganization_OrganizationType()
077 * @model
078 * @generated
079 */
080 String getOrganizationType();
081
082 /**
083 * Sets the value of the '{@link com.hammurapi.party.Organization#getOrganizationType <em>Organization Type</em>}' attribute.
084 * <!-- begin-user-doc -->
085 * <!-- end-user-doc -->
086 * @param value the new value of the '<em>Organization Type</em>' attribute.
087 * @see #getOrganizationType()
088 * @generated
089 */
090 void setOrganizationType(String value);
091
092 /**
093 * Returns the value of the '<em><b>Matrixed Children</b></em>' containment reference list.
094 * The list contents are of type {@link com.hammurapi.party.MatrixRelationship}.
095 * <!-- begin-user-doc -->
096 * <!-- end-user-doc -->
097 * <!-- begin-model-doc -->
098 * Matrixed party children.
099 * <!-- end-model-doc -->
100 * @return the value of the '<em>Matrixed Children</em>' containment reference list.
101 * @see com.hammurapi.party.PartyPackage#getOrganization_MatrixedChildren()
102 * @model containment="true"
103 * @generated
104 */
105 EList<MatrixRelationship> getMatrixedChildren();
106
107 } // Organization