001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.review;
008    
009    import org.eclipse.emf.common.util.EList;
010    import org.eclipse.emf.ecore.EObject;
011    
012    /**
013     * <!-- begin-user-doc -->
014     * A representation of the model object '<em><b>Inspector Category</b></em>'.
015     * <!-- end-user-doc -->
016     *
017     * <!-- begin-model-doc -->
018     * Inspector category.
019     * <!-- end-model-doc -->
020     *
021     * <p>
022     * The following features are supported:
023     * <ul>
024     *   <li>{@link com.hammurapi.review.InspectorCategory#getSubCategory <em>Sub Category</em>}</li>
025     *   <li>{@link com.hammurapi.review.InspectorCategory#getParentCategory <em>Parent Category</em>}</li>
026     *   <li>{@link com.hammurapi.review.InspectorCategory#getExternalParent <em>External Parent</em>}</li>
027     *   <li>{@link com.hammurapi.review.InspectorCategory#getGovernedBy <em>Governed By</em>}</li>
028     *   <li>{@link com.hammurapi.review.InspectorCategory#getInspectors <em>Inspectors</em>}</li>
029     * </ul>
030     * </p>
031     *
032     * @see com.hammurapi.review.ReviewPackage#getInspectorCategory()
033     * @model
034     * @generated
035     */
036    public interface InspectorCategory extends GovernanaceObject {
037            /**
038             * Returns the value of the '<em><b>Sub Category</b></em>' containment reference list.
039             * The list contents are of type {@link com.hammurapi.review.InspectorCategory}.
040             * It is bidirectional and its opposite is '{@link com.hammurapi.review.InspectorCategory#getParentCategory <em>Parent Category</em>}'.
041             * <!-- begin-user-doc -->
042             * <p>
043             * If the meaning of the '<em>Sub Category</em>' containment reference list isn't clear,
044             * there really should be more of a description here...
045             * </p>
046             * <!-- end-user-doc -->
047             * @return the value of the '<em>Sub Category</em>' containment reference list.
048             * @see com.hammurapi.review.ReviewPackage#getInspectorCategory_SubCategory()
049             * @see com.hammurapi.review.InspectorCategory#getParentCategory
050             * @model opposite="parentCategory" containment="true"
051             * @generated
052             */
053            EList<InspectorCategory> getSubCategory();
054    
055            /**
056             * Returns the value of the '<em><b>Parent Category</b></em>' container reference.
057             * It is bidirectional and its opposite is '{@link com.hammurapi.review.InspectorCategory#getSubCategory <em>Sub Category</em>}'.
058             * <!-- begin-user-doc -->
059             * <!-- end-user-doc -->
060             * <!-- begin-model-doc -->
061             * Categories may form a hierarchy, e.g. Java/J2EE/EJB.
062             * <!-- end-model-doc -->
063             * @return the value of the '<em>Parent Category</em>' container reference.
064             * @see #setParentCategory(InspectorCategory)
065             * @see com.hammurapi.review.ReviewPackage#getInspectorCategory_ParentCategory()
066             * @see com.hammurapi.review.InspectorCategory#getSubCategory
067             * @model opposite="subCategory" transient="false"
068             * @generated
069             */
070            InspectorCategory getParentCategory();
071    
072            /**
073             * Sets the value of the '{@link com.hammurapi.review.InspectorCategory#getParentCategory <em>Parent Category</em>}' container reference.
074             * <!-- begin-user-doc -->
075             * <!-- end-user-doc -->
076             * @param value the new value of the '<em>Parent Category</em>' container reference.
077             * @see #getParentCategory()
078             * @generated
079             */
080            void setParentCategory(InspectorCategory value);
081    
082            /**
083             * Returns the value of the '<em><b>External Parent</b></em>' reference.
084             * <!-- begin-user-doc -->
085             * <!-- end-user-doc -->
086             * <!-- begin-model-doc -->
087             * Inspector set category can be mounted as a sub-category of one of base categories.
088             * <!-- end-model-doc -->
089             * @return the value of the '<em>External Parent</em>' reference.
090             * @see #setExternalParent(InspectorCategory)
091             * @see com.hammurapi.review.ReviewPackage#getInspectorCategory_ExternalParent()
092             * @model
093             * @generated
094             */
095            InspectorCategory getExternalParent();
096    
097            /**
098             * Sets the value of the '{@link com.hammurapi.review.InspectorCategory#getExternalParent <em>External Parent</em>}' reference.
099             * <!-- begin-user-doc -->
100             * <!-- end-user-doc -->
101             * @param value the new value of the '<em>External Parent</em>' reference.
102             * @see #getExternalParent()
103             * @generated
104             */
105            void setExternalParent(InspectorCategory value);
106    
107            /**
108             * Returns the value of the '<em><b>Governed By</b></em>' reference list.
109             * The list contents are of type {@link com.hammurapi.review.ToolVersion}.
110             * It is bidirectional and its opposite is '{@link com.hammurapi.review.ToolVersion#getGoverns <em>Governs</em>}'.
111             * <!-- begin-user-doc -->
112             * <p>
113             * If the meaning of the '<em>Governed By</em>' reference list isn't clear,
114             * there really should be more of a description here...
115             * </p>
116             * <!-- end-user-doc -->
117             * @return the value of the '<em>Governed By</em>' reference list.
118             * @see com.hammurapi.review.ReviewPackage#getInspectorCategory_GovernedBy()
119             * @see com.hammurapi.review.ToolVersion#getGoverns
120             * @model opposite="governs"
121             * @generated
122             */
123            EList<ToolVersion> getGovernedBy();
124    
125            /**
126             * Returns the value of the '<em><b>Inspectors</b></em>' reference list.
127             * The list contents are of type {@link com.hammurapi.review.Inspector}.
128             * It is bidirectional and its opposite is '{@link com.hammurapi.review.Inspector#getCategory <em>Category</em>}'.
129             * <!-- begin-user-doc -->
130             * <p>
131             * If the meaning of the '<em>Inspectors</em>' reference list isn't clear,
132             * there really should be more of a description here...
133             * </p>
134             * <!-- end-user-doc -->
135             * @return the value of the '<em>Inspectors</em>' reference list.
136             * @see com.hammurapi.review.ReviewPackage#getInspectorCategory_Inspectors()
137             * @see com.hammurapi.review.Inspector#getCategory
138             * @model opposite="category"
139             * @generated
140             */
141            EList<Inspector> getInspectors();
142    
143            /**
144             * <!-- begin-user-doc -->
145             * <!-- end-user-doc -->
146             * <!-- begin-model-doc -->
147             * Category path.
148             * <!-- end-model-doc -->
149             * @model kind="operation"
150             * @generated
151             */
152            String getPath();
153    
154    } // InspectorCategory