001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.review;
008    
009    import org.eclipse.emf.common.util.EList;
010    
011    import com.hammurapi.config.NamedObjectDefinition;
012    
013    /**
014     * <!-- begin-user-doc -->
015     * A representation of the model object '<em><b>Inspector Set</b></em>'.
016     * <!-- end-user-doc -->
017     *
018     * <!-- begin-model-doc -->
019     * A collection of inspector definitions. Also contains inspector categories.
020     * <!-- end-model-doc -->
021     *
022     * <p>
023     * The following features are supported:
024     * <ul>
025     *   <li>{@link com.hammurapi.review.InspectorSet#getInspectors <em>Inspectors</em>}</li>
026     *   <li>{@link com.hammurapi.review.InspectorSet#getCategories <em>Categories</em>}</li>
027     *   <li>{@link com.hammurapi.review.InspectorSet#getBase <em>Base</em>}</li>
028     *   <li>{@link com.hammurapi.review.InspectorSet#getVersion <em>Version</em>}</li>
029     *   <li>{@link com.hammurapi.review.InspectorSet#getIncludedInspectors <em>Included Inspectors</em>}</li>
030     * </ul>
031     * </p>
032     *
033     * @see com.hammurapi.review.ReviewPackage#getInspectorSet()
034     * @model
035     * @generated
036     */
037    public interface InspectorSet extends Governor {
038            /**
039             * Returns the value of the '<em><b>Inspectors</b></em>' containment reference list.
040             * The list contents are of type {@link com.hammurapi.review.Inspector}.
041             * It is bidirectional and its opposite is '{@link com.hammurapi.review.Inspector#getInspectorSet <em>Inspector Set</em>}'.
042             * <!-- begin-user-doc -->
043             * <!-- end-user-doc -->
044             * <!-- begin-model-doc -->
045             * Inspector set contains one or more inspectors.
046             * <!-- end-model-doc -->
047             * @return the value of the '<em>Inspectors</em>' containment reference list.
048             * @see com.hammurapi.review.ReviewPackage#getInspectorSet_Inspectors()
049             * @see com.hammurapi.review.Inspector#getInspectorSet
050             * @model opposite="inspectorSet" containment="true" required="true"
051             * @generated
052             */
053            EList<Inspector> getInspectors();
054    
055            /**
056             * Returns the value of the '<em><b>Categories</b></em>' containment reference list.
057             * The list contents are of type {@link com.hammurapi.review.InspectorCategory}.
058             * <!-- begin-user-doc -->
059             * <!-- end-user-doc -->
060             * <!-- begin-model-doc -->
061             * Inspector set contains definitions of inspector categories referenced by inspectors.
062             * <!-- end-model-doc -->
063             * @return the value of the '<em>Categories</em>' containment reference list.
064             * @see com.hammurapi.review.ReviewPackage#getInspectorSet_Categories()
065             * @model containment="true"
066             * @generated
067             */
068            EList<InspectorCategory> getCategories();
069    
070            /**
071             * Returns the value of the '<em><b>Base</b></em>' reference list.
072             * The list contents are of type {@link com.hammurapi.review.InspectorSet}.
073             * <!-- begin-user-doc -->
074             * <!-- end-user-doc -->
075             * <!-- begin-model-doc -->
076             * Inspector set can extend other inspector sets. Inspectors from base inspector sets are added to the extending inspector set. Inspector set level definitions from bases are ignored.
077             * <!-- end-model-doc -->
078             * @return the value of the '<em>Base</em>' reference list.
079             * @see com.hammurapi.review.ReviewPackage#getInspectorSet_Base()
080             * @model
081             * @generated
082             */
083            EList<InspectorSet> getBase();
084    
085            /**
086             * Returns the value of the '<em><b>Version</b></em>' attribute.
087             * <!-- begin-user-doc -->
088             * <!-- end-user-doc -->
089             * <!-- begin-model-doc -->
090             * Inspector set version.
091             * <!-- end-model-doc -->
092             * @return the value of the '<em>Version</em>' attribute.
093             * @see #setVersion(String)
094             * @see com.hammurapi.review.ReviewPackage#getInspectorSet_Version()
095             * @model
096             * @generated
097             */
098            String getVersion();
099    
100            /**
101             * Sets the value of the '{@link com.hammurapi.review.InspectorSet#getVersion <em>Version</em>}' attribute.
102             * <!-- begin-user-doc -->
103             * <!-- end-user-doc -->
104             * @param value the new value of the '<em>Version</em>' attribute.
105             * @see #getVersion()
106             * @generated
107             */
108            void setVersion(String value);
109    
110            /**
111             * Returns the value of the '<em><b>Included Inspectors</b></em>' reference list.
112             * The list contents are of type {@link com.hammurapi.review.Inspector}.
113             * <!-- begin-user-doc -->
114             * <!-- end-user-doc -->
115             * <!-- begin-model-doc -->
116             * Inspectors defined in external inspector sets and included into this inspector set by reference. This feature allows to include individual externally defined inspectors into an inspector set. 
117             * <!-- end-model-doc -->
118             * @return the value of the '<em>Included Inspectors</em>' reference list.
119             * @see com.hammurapi.review.ReviewPackage#getInspectorSet_IncludedInspectors()
120             * @model
121             * @generated
122             */
123            EList<Inspector> getIncludedInspectors();
124    
125    } // InspectorSet