001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.config;
008    
009    
010    /**
011     * <!-- begin-user-doc -->
012     * A representation of the model object '<em><b>Object Definition</b></em>'.
013     * <!-- end-user-doc -->
014     *
015     * <!-- begin-model-doc -->
016     * Definition of an object to instantiate and configure.
017     * <!-- end-model-doc -->
018     *
019     * <p>
020     * The following features are supported:
021     * <ul>
022     *   <li>{@link com.hammurapi.config.ObjectDefinition#getConstructor <em>Constructor</em>}</li>
023     *   <li>{@link com.hammurapi.config.ObjectDefinition#getValue <em>Value</em>}</li>
024     *   <li>{@link com.hammurapi.config.ObjectDefinition#getType <em>Type</em>}</li>
025     * </ul>
026     * </p>
027     *
028     * @see com.hammurapi.config.ConfigPackage#getObjectDefinition()
029     * @model
030     * @generated
031     */
032    public interface ObjectDefinition extends Factory, PropertySource {
033            /**
034             * Returns the value of the '<em><b>Constructor</b></em>' containment reference.
035             * <!-- begin-user-doc -->
036             * <!-- end-user-doc -->
037             * <!-- begin-model-doc -->
038             * Constructor definition.
039             * <!-- end-model-doc -->
040             * @return the value of the '<em>Constructor</em>' containment reference.
041             * @see #setConstructor(Constructor)
042             * @see com.hammurapi.config.ConfigPackage#getObjectDefinition_Constructor()
043             * @model containment="true"
044             * @generated
045             */
046            Constructor getConstructor();
047    
048            /**
049             * Sets the value of the '{@link com.hammurapi.config.ObjectDefinition#getConstructor <em>Constructor</em>}' containment reference.
050             * <!-- begin-user-doc -->
051             * <!-- end-user-doc -->
052             * @param value the new value of the '<em>Constructor</em>' containment reference.
053             * @see #getConstructor()
054             * @generated
055             */
056            void setConstructor(Constructor value);
057    
058            /**
059             * Returns the value of the '<em><b>Value</b></em>' attribute.
060             * <!-- begin-user-doc -->
061             * <!-- end-user-doc -->
062             * <!-- begin-model-doc -->
063             * Object value. If value is present, then the object shall have a single argument constructor. The runtime configuration code will attempt to convert string value to the constructor parameter type, if needed.
064             * <!-- end-model-doc -->
065             * @return the value of the '<em>Value</em>' attribute.
066             * @see #setValue(String)
067             * @see com.hammurapi.config.ConfigPackage#getObjectDefinition_Value()
068             * @model
069             * @generated
070             */
071            String getValue();
072    
073            /**
074             * Sets the value of the '{@link com.hammurapi.config.ObjectDefinition#getValue <em>Value</em>}' attribute.
075             * <!-- begin-user-doc -->
076             * <!-- end-user-doc -->
077             * @param value the new value of the '<em>Value</em>' attribute.
078             * @see #getValue()
079             * @generated
080             */
081            void setValue(String value);
082    
083            /**
084             * Returns the value of the '<em><b>Type</b></em>' attribute.
085             * <!-- begin-user-doc -->
086             * <!-- end-user-doc -->
087             * <!-- begin-model-doc -->
088             * Class name. The class shall have a default public constructor, unless there is a constructor definition for the object or value is provided in the definition.
089             * <!-- end-model-doc -->
090             * @return the value of the '<em>Type</em>' attribute.
091             * @see #setType(String)
092             * @see com.hammurapi.config.ConfigPackage#getObjectDefinition_Type()
093             * @model
094             * @generated
095             */
096            String getType();
097    
098            /**
099             * Sets the value of the '{@link com.hammurapi.config.ObjectDefinition#getType <em>Type</em>}' attribute.
100             * <!-- begin-user-doc -->
101             * <!-- end-user-doc -->
102             * @param value the new value of the '<em>Type</em>' attribute.
103             * @see #getType()
104             * @generated
105             */
106            void setType(String value);
107    
108    } // ObjectDefinition