001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.config;
008    
009    import com.hammurapi.config.bootstrap.ConfigurationException;
010    
011    import org.eclipse.emf.common.util.EList;
012    
013    /**
014     * <!-- begin-user-doc -->
015     * A representation of the model object '<em><b>Script</b></em>'.
016     * <!-- end-user-doc -->
017     *
018     * <!-- begin-model-doc -->
019     * Script (Java language method) which produces an object.
020     * <!-- end-model-doc -->
021     *
022     * <p>
023     * The following features are supported:
024     * <ul>
025     *   <li>{@link com.hammurapi.config.Script#getCode <em>Code</em>}</li>
026     * </ul>
027     * </p>
028     *
029     * @see com.hammurapi.config.ConfigPackage#getScript()
030     * @model
031     * @generated
032     */
033    public interface Script extends Factory, PropertySource {
034            /**
035             * Returns the value of the '<em><b>Code</b></em>' attribute.
036             * <!-- begin-user-doc -->
037             * <p>
038             * If the meaning of the '<em>Code</em>' attribute isn't clear,
039             * there really should be more of a description here...
040             * </p>
041             * <!-- end-user-doc -->
042             * @return the value of the '<em>Code</em>' attribute.
043             * @see #setCode(String)
044             * @see com.hammurapi.config.ConfigPackage#getScript_Code()
045             * @model required="true"
046             * @generated
047             */
048            String getCode();
049    
050            /**
051             * Sets the value of the '{@link com.hammurapi.config.Script#getCode <em>Code</em>}' attribute.
052             * <!-- begin-user-doc -->
053             * <!-- end-user-doc -->
054             * @param value the new value of the '<em>Code</em>' attribute.
055             * @see #getCode()
056             * @generated
057             */
058            void setCode(String value);
059    
060            /**
061             * <!-- begin-user-doc -->
062             * <!-- end-user-doc -->
063             * <!-- begin-model-doc -->
064             * Evaluates script.
065             * @param returnType Script return type.
066             * @param parameterNames Parameter names.
067             * @param parameterTypes Parameter types.
068             * @param parameters Parameters.
069             * @param classLoader Class loader.
070             * <!-- end-model-doc -->
071             * @model exceptions="com.hammurapi.config.EConfigurationException" parameterNamesMany="true" parameterTypesMany="true" parametersMany="true" classLoaderDataType="com.hammurapi.config.EClassLoader"
072             * @generated
073             */
074            <T> T eval(Class<T> returnType, EList<String> parameterNames, EList<Class<?>> parameterTypes, EList<Object> parameters, ClassLoader classLoader) throws ConfigurationException;
075    
076    } // Script