/** * <copyright> * </copyright> * * $Id$ */ package orgomg.cwm.resource.relational; import orgomg.cwm.objectmodel.core.Attribute; import orgomg.cwm.resource.relational.enumerations.NullableType; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Column</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * A column in a result set, a view, a table, or an SQLStructuredType. * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link orgomg.cwm.resource.relational.Column#getPrecision <em>Precision</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getScale <em>Scale</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getIsNullable <em>Is Nullable</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getLength <em>Length</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getCollationName <em>Collation Name</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getCharacterSetName <em>Character Set Name</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getReferencedTableType <em>Referenced Table Type</em>}</li> * <li>{@link orgomg.cwm.resource.relational.Column#getOptionScopeColumnSet <em>Option Scope Column Set</em>}</li> * </ul> * </p> * * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn() * @model * @generated */ public interface Column extends Attribute { /** * Returns the value of the '<em><b>Precision</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The total number of digits in the field. * <!-- end-model-doc --> * @return the value of the '<em>Precision</em>' attribute. * @see #setPrecision(long) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_Precision() * @model dataType="orgomg.cwm.objectmodel.core.Integer" * @generated */ long getPrecision(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#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(long value); /** * Returns the value of the '<em><b>Scale</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The number of digits on the right of the decimal separator. * <!-- end-model-doc --> * @return the value of the '<em>Scale</em>' attribute. * @see #setScale(long) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_Scale() * @model dataType="orgomg.cwm.objectmodel.core.Integer" * @generated */ long getScale(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#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(long value); /** * Returns the value of the '<em><b>Is Nullable</b></em>' attribute. * The literals are from the enumeration {@link orgomg.cwm.resource.relational.enumerations.NullableType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Indicates if null values are valid in this column. * * Note: Default values for Column data are provided in initialValue in the UML Attribute class (the class from which the Column class inherits). * <!-- end-model-doc --> * @return the value of the '<em>Is Nullable</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.NullableType * @see #setIsNullable(NullableType) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_IsNullable() * @model * @generated */ NullableType getIsNullable(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#getIsNullable <em>Is Nullable</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Is Nullable</em>' attribute. * @see orgomg.cwm.resource.relational.enumerations.NullableType * @see #getIsNullable() * @generated */ void setIsNullable(NullableType value); /** * Returns the value of the '<em><b>Length</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The length of fixed length character or byte strings. Maximum length if length is variable. * <!-- end-model-doc --> * @return the value of the '<em>Length</em>' attribute. * @see #setLength(long) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_Length() * @model dataType="orgomg.cwm.objectmodel.core.Integer" * @generated */ long getLength(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#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(long value); /** * Returns the value of the '<em><b>Collation Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The name of the collation sequence used to sort the data values in the column. * This applies only to columns whose datatype is a form of character string. * <!-- end-model-doc --> * @return the value of the '<em>Collation Name</em>' attribute. * @see #setCollationName(String) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_CollationName() * @model dataType="orgomg.cwm.objectmodel.core.String" * @generated */ String getCollationName(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#getCollationName <em>Collation Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Collation Name</em>' attribute. * @see #getCollationName() * @generated */ void setCollationName(String value); /** * Returns the value of the '<em><b>Character Set Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The name of the character set used for the values in the column. * This field applies only to columns whose datatype is a character string. * <!-- end-model-doc --> * @return the value of the '<em>Character Set Name</em>' attribute. * @see #setCharacterSetName(String) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_CharacterSetName() * @model dataType="orgomg.cwm.objectmodel.core.String" * @generated */ String getCharacterSetName(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#getCharacterSetName <em>Character Set Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Character Set Name</em>' attribute. * @see #getCharacterSetName() * @generated */ void setCharacterSetName(String value); /** * Returns the value of the '<em><b>Referenced Table Type</b></em>' reference. * It is bidirectional and its opposite is '{@link orgomg.cwm.resource.relational.SQLStructuredType#getReferencingColumn <em>Referencing Column</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * The column, used in an SQLStructuredType is a REF to a type. This references the REF�ed SQLStructuredType. * <!-- end-model-doc --> * @return the value of the '<em>Referenced Table Type</em>' reference. * @see #setReferencedTableType(SQLStructuredType) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_ReferencedTableType() * @see orgomg.cwm.resource.relational.SQLStructuredType#getReferencingColumn * @model opposite="referencingColumn" * @generated */ SQLStructuredType getReferencedTableType(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#getReferencedTableType <em>Referenced Table Type</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Referenced Table Type</em>' reference. * @see #getReferencedTableType() * @generated */ void setReferencedTableType(SQLStructuredType value); /** * Returns the value of the '<em><b>Option Scope Column Set</b></em>' reference. * It is bidirectional and its opposite is '{@link orgomg.cwm.resource.relational.NamedColumnSet#getOptionScopeColumn <em>Option Scope Column</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * Reference to the NamedColumnSet indicated in the SCOPE clause of the Column definition. * * * * <!-- end-model-doc --> * @return the value of the '<em>Option Scope Column Set</em>' reference. * @see #setOptionScopeColumnSet(NamedColumnSet) * @see orgomg.cwm.resource.relational.RelationalPackage#getColumn_OptionScopeColumnSet() * @see orgomg.cwm.resource.relational.NamedColumnSet#getOptionScopeColumn * @model opposite="optionScopeColumn" * @generated */ NamedColumnSet getOptionScopeColumnSet(); /** * Sets the value of the '{@link orgomg.cwm.resource.relational.Column#getOptionScopeColumnSet <em>Option Scope Column Set</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Option Scope Column Set</em>' reference. * @see #getOptionScopeColumnSet() * @generated */ void setOptionScopeColumnSet(NamedColumnSet value); } // Column