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