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