/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.emf.texo.orm.annotations.model.orm; import java.math.BigInteger; import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Plsql Parameter</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * * * /** * * A PLSQLParameter annotation is used within a * * NamedPLSQLStoredProcedureQuery or PLSQLRecord annotation. * * * * @see NamedPLSQLStoredProcedureQuery * * @see PLSQLRecord * * @author James Sutherland * * @since EclipseLink 2.3 * ** * @Target({}) * @Retention(RUNTIME) * public @interface PLSQLParameter { * /** * * (Optional) The direction of the stored procedure parameter. * ** * Direction direction() default IN; * * /** * * (Required) Stored procedure parameter name. * ** * String name() default ""; * * /** * * (Optional) The query parameter name. * ** * String queryParameter(); * * /** * * (Optional) Define if the parameter is required, or optional and * defaulted by the procedure. * ** * boolean optional() default false; * * /** * * (Optional) The database data-type for the paramter. * * This either one of the type constants defined in OraclePLSQLTypes, * or JDBCTypes, * * or a custom record or table type name. * * @see PLSQLRecord * * @see OraclePLSQLTypes * * @see JDBCTypes * ** * String databaseType() default "VARCHAR"; * * /** * * (Optional) The max length of the field value. * ** * int length() default 255; * * /** * * (Optional) If a numeric, the max scale value. * ** * int scale() default 0; * * /** * * (Optional) If a numeric, the max precision value. * ** * int precision() default 0; * } * * * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDatabaseType <em>Database Type</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDirection <em>Direction</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getLength <em>Length</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getName <em>Name</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#isOptional <em>Optional</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getPrecision <em>Precision</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getQueryParameter <em>Query Parameter</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getScale <em>Scale</em>}</li> * </ul> * </p> * * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter() * @model extendedMetaData="name='plsql-parameter' kind='empty'" * @extends BaseOrmAnnotation * @generated */ public interface PlsqlParameter extends BaseOrmAnnotation { /** * Returns the value of the '<em><b>Database Type</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Database Type</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Database Type</em>' attribute. * @see #setDatabaseType(String) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_DatabaseType() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * extendedMetaData="kind='attribute' name='database-type'" * @generated */ String getDatabaseType(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDatabaseType <em>Database Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Database Type</em>' attribute. * @see #getDatabaseType() * @generated */ void setDatabaseType(String value); /** * Returns the value of the '<em><b>Direction</b></em>' attribute. * The literals are from the enumeration {@link org.eclipse.emf.texo.orm.annotations.model.orm.DirectionType}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Direction</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Direction</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.DirectionType * @see #isSetDirection() * @see #unsetDirection() * @see #setDirection(DirectionType) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Direction() * @model unsettable="true" * extendedMetaData="kind='attribute' name='direction'" * @generated */ DirectionType getDirection(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDirection <em>Direction</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Direction</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.DirectionType * @see #isSetDirection() * @see #unsetDirection() * @see #getDirection() * @generated */ void setDirection(DirectionType value); /** * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDirection <em>Direction</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isSetDirection() * @see #getDirection() * @see #setDirection(DirectionType) * @generated */ void unsetDirection(); /** * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getDirection <em>Direction</em>}' attribute is set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return whether the value of the '<em>Direction</em>' attribute is set. * @see #unsetDirection() * @see #getDirection() * @see #setDirection(DirectionType) * @generated */ boolean isSetDirection(); /** * Returns the value of the '<em><b>Length</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Length</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Length</em>' attribute. * @see #setLength(BigInteger) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Length() * @model dataType="org.eclipse.emf.ecore.xml.type.Integer" * extendedMetaData="kind='attribute' name='length'" * @generated */ BigInteger getLength(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getLength <em>Length</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Length</em>' attribute. * @see #getLength() * @generated */ void setLength(BigInteger value); /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Name</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Name</em>' attribute. * @see #setName(String) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Name() * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ String getName(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getName <em>Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. * @see #getName() * @generated */ void setName(String value); /** * Returns the value of the '<em><b>Optional</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Optional</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Optional</em>' attribute. * @see #isSetOptional() * @see #unsetOptional() * @see #setOptional(boolean) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Optional() * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean" * extendedMetaData="kind='attribute' name='optional'" * @generated */ boolean isOptional(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#isOptional <em>Optional</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Optional</em>' attribute. * @see #isSetOptional() * @see #unsetOptional() * @see #isOptional() * @generated */ void setOptional(boolean value); /** * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#isOptional <em>Optional</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isSetOptional() * @see #isOptional() * @see #setOptional(boolean) * @generated */ void unsetOptional(); /** * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#isOptional <em>Optional</em>}' attribute is set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return whether the value of the '<em>Optional</em>' attribute is set. * @see #unsetOptional() * @see #isOptional() * @see #setOptional(boolean) * @generated */ boolean isSetOptional(); /** * Returns the value of the '<em><b>Precision</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Precision</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Precision</em>' attribute. * @see #setPrecision(BigInteger) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Precision() * @model dataType="org.eclipse.emf.ecore.xml.type.Integer" * extendedMetaData="kind='attribute' name='precision'" * @generated */ BigInteger getPrecision(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getPrecision <em>Precision</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Precision</em>' attribute. * @see #getPrecision() * @generated */ void setPrecision(BigInteger value); /** * Returns the value of the '<em><b>Query Parameter</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Query Parameter</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Query Parameter</em>' attribute. * @see #setQueryParameter(String) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_QueryParameter() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * extendedMetaData="kind='attribute' name='query-parameter'" * @generated */ String getQueryParameter(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getQueryParameter <em>Query Parameter</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Query Parameter</em>' attribute. * @see #getQueryParameter() * @generated */ void setQueryParameter(String value); /** * Returns the value of the '<em><b>Scale</b></em>' attribute. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Scale</em>' attribute isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Scale</em>' attribute. * @see #setScale(BigInteger) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getPlsqlParameter_Scale() * @model dataType="org.eclipse.emf.ecore.xml.type.Integer" * extendedMetaData="kind='attribute' name='scale'" * @generated */ BigInteger getScale(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.PlsqlParameter#getScale <em>Scale</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Scale</em>' attribute. * @see #getScale() * @generated */ void setScale(BigInteger value); } // PlsqlParameter