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.Factory;
012    import com.hammurapi.config.ObjectDefinition;
013    
014    /**
015     * <!-- begin-user-doc -->
016     * A representation of the model object '<em><b>Component</b></em>'.
017     * <!-- end-user-doc -->
018     *
019     * <!-- begin-model-doc -->
020     * Component is a definition how to perform a review.
021     * <!-- end-model-doc -->
022     *
023     * <p>
024     * The following features are supported:
025     * <ul>
026     *   <li>{@link com.hammurapi.review.Component#getModule <em>Module</em>}</li>
027     *   <li>{@link com.hammurapi.review.Component#getName <em>Name</em>}</li>
028     *   <li>{@link com.hammurapi.review.Component#getReporter <em>Reporter</em>}</li>
029     *   <li>{@link com.hammurapi.review.Component#getWaivers <em>Waivers</em>}</li>
030     * </ul>
031     * </p>
032     *
033     * @see com.hammurapi.review.ReviewPackage#getComponent()
034     * @model
035     * @generated
036     */
037    public interface Component extends ObjectDefinition {
038            /**
039             * Returns the value of the '<em><b>Module</b></em>' containment reference list.
040             * The list contents are of type {@link com.hammurapi.review.Module}.
041             * <!-- begin-user-doc -->
042             * <!-- end-user-doc -->
043             * <!-- begin-model-doc -->
044             * Component contains one or more modules.
045             * <!-- end-model-doc -->
046             * @return the value of the '<em>Module</em>' containment reference list.
047             * @see com.hammurapi.review.ReviewPackage#getComponent_Module()
048             * @model containment="true" required="true"
049             * @generated
050             */
051            EList<Module> getModule();
052    
053            /**
054             * Returns the value of the '<em><b>Name</b></em>' attribute.
055             * <!-- begin-user-doc -->
056             * <p>
057             * If the meaning of the '<em>Name</em>' attribute isn't clear,
058             * there really should be more of a description here...
059             * </p>
060             * <!-- end-user-doc -->
061             * @return the value of the '<em>Name</em>' attribute.
062             * @see #setName(String)
063             * @see com.hammurapi.review.ReviewPackage#getComponent_Name()
064             * @model
065             * @generated
066             */
067            String getName();
068    
069            /**
070             * Sets the value of the '{@link com.hammurapi.review.Component#getName <em>Name</em>}' attribute.
071             * <!-- begin-user-doc -->
072             * <!-- end-user-doc -->
073             * @param value the new value of the '<em>Name</em>' attribute.
074             * @see #getName()
075             * @generated
076             */
077            void setName(String value);
078    
079            /**
080             * Returns the value of the '<em><b>Reporter</b></em>' containment reference list.
081             * The list contents are of type {@link com.hammurapi.config.Factory}.
082             * <!-- begin-user-doc -->
083             * <!-- end-user-doc -->
084             * <!-- begin-model-doc -->
085             * Review observations are passed to reporters.
086             * <!-- end-model-doc -->
087             * @return the value of the '<em>Reporter</em>' containment reference list.
088             * @see com.hammurapi.review.ReviewPackage#getComponent_Reporter()
089             * @model containment="true" required="true"
090             * @generated
091             */
092            EList<Factory> getReporter();
093    
094            /**
095             * Returns the value of the '<em><b>Waivers</b></em>' containment reference list.
096             * The list contents are of type {@link com.hammurapi.review.Waiver}.
097             * <!-- begin-user-doc -->
098             * <p>
099             * If the meaning of the '<em>Waivers</em>' containment reference list isn't clear,
100             * there really should be more of a description here...
101             * </p>
102             * <!-- end-user-doc -->
103             * @return the value of the '<em>Waivers</em>' containment reference list.
104             * @see com.hammurapi.review.ReviewPackage#getComponent_Waivers()
105             * @model containment="true"
106             * @generated
107             */
108            EList<Waiver> getWaivers();
109    
110    } // Component