/**
* <copyright>
* </copyright>
*
* $Id: Id.java,v 1.6 2011/10/25 13:21:26 mtaal Exp $
*/
package org.eclipse.emf.texo.orm.annotations.model.orm;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.texo.orm.annotator.BaseOrmAnnotation;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Id</b></em>'. <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
*
*
* @Target({METHOD, FIELD}) @Retention(RUNTIME)
* public @interface Id {}
*
*
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getColumn <em>Column</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getIndex <em>Index</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getGeneratedValue <em>Generated Value</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTemporal <em>Temporal</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getEnumerated <em>Enumerated</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getConvert <em>Convert</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getConverter <em>Converter</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTypeConverter <em>Type Converter</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getObjectTypeConverter <em>Object Type Converter</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getStructConverter <em>Struct Converter</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTableGenerator <em>Table Generator</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getSequenceGenerator <em>Sequence Generator</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getProperty <em>Property</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccessMethods <em>Access Methods</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccess <em>Access</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAttributeType <em>Attribute Type</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#isMutable <em>Mutable</em>}</li>
* <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getName <em>Name</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId()
* @model extendedMetaData="name='id' kind='elementOnly'"
* @extends BaseOrmAnnotation
* @generated
*/
public interface Id extends BaseOrmAnnotation {
/**
* Returns the value of the '<em><b>Column</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Column</em>' containment reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Column</em>' containment reference.
* @see #setColumn(Column)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Column()
* @model containment="true"
* extendedMetaData="kind='element' name='column' namespace='##targetNamespace'"
* @generated
*/
Column getColumn();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getColumn <em>Column</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Column</em>' containment reference.
* @see #getColumn()
* @generated
*/
void setColumn(Column value);
/**
* Returns the value of the '<em><b>Index</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Index</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Index</em>' containment reference.
* @see #setIndex(Index)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Index()
* @model containment="true"
* extendedMetaData="kind='element' name='index' namespace='##targetNamespace'"
* @generated
*/
Index getIndex();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getIndex <em>Index</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Index</em>' containment reference.
* @see #getIndex()
* @generated
*/
void setIndex(Index value);
/**
* Returns the value of the '<em><b>Generated Value</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Generated Value</em>' containment reference isn't clear, there really should be more of
* a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Generated Value</em>' containment reference.
* @see #setGeneratedValue(GeneratedValue)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_GeneratedValue()
* @model containment="true"
* extendedMetaData="kind='element' name='generated-value' namespace='##targetNamespace'"
* @generated
*/
GeneratedValue getGeneratedValue();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getGeneratedValue <em>Generated Value</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Generated Value</em>' containment reference.
* @see #getGeneratedValue()
* @generated
*/
void setGeneratedValue(GeneratedValue value);
/**
* Returns the value of the '<em><b>Temporal</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Temporal</em>' attribute isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Temporal</em>' attribute.
* @see #setTemporal(TemporalType)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Temporal()
* @model dataType="org.eclipse.emf.texo.orm.annotations.model.orm.Temporal"
* extendedMetaData="kind='element' name='temporal' namespace='##targetNamespace'"
* @generated
*/
TemporalType getTemporal();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTemporal <em>Temporal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Temporal</em>' attribute.
* @see #getTemporal()
* @generated
*/
void setTemporal(TemporalType value);
/**
* Returns the value of the '<em><b>Enumerated</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Enumerated</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Enumerated</em>' attribute.
* @see #setEnumerated(EnumType)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Enumerated()
* @model dataType="org.eclipse.emf.texo.orm.annotations.model.orm.Enumerated"
* extendedMetaData="kind='element' name='enumerated' namespace='##targetNamespace'"
* @generated
*/
EnumType getEnumerated();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getEnumerated <em>Enumerated</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Enumerated</em>' attribute.
* @see #getEnumerated()
* @generated
*/
void setEnumerated(EnumType value);
/**
* Returns the value of the '<em><b>Convert</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Convert</em>' attribute isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Convert</em>' attribute.
* @see #setConvert(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Convert()
* @model dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='element' name='convert' namespace='##targetNamespace'"
* @generated
*/
String getConvert();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getConvert <em>Convert</em>}' attribute.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Convert</em>' attribute.
* @see #getConvert()
* @generated
*/
void setConvert(String value);
/**
* Returns the value of the '<em><b>Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Converter</em>' containment reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Converter</em>' containment reference.
* @see #setConverter(Converter)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Converter()
* @model containment="true"
* extendedMetaData="kind='element' name='converter' namespace='##targetNamespace'"
* @generated
*/
Converter getConverter();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getConverter <em>Converter</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Converter</em>' containment reference.
* @see #getConverter()
* @generated
*/
void setConverter(Converter value);
/**
* Returns the value of the '<em><b>Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Type Converter</em>' containment reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Type Converter</em>' containment reference.
* @see #setTypeConverter(TypeConverter)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_TypeConverter()
* @model containment="true"
* extendedMetaData="kind='element' name='type-converter' namespace='##targetNamespace'"
* @generated
*/
TypeConverter getTypeConverter();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTypeConverter <em>Type Converter</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Type Converter</em>' containment reference.
* @see #getTypeConverter()
* @generated
*/
void setTypeConverter(TypeConverter value);
/**
* Returns the value of the '<em><b>Object Type Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Object Type Converter</em>' containment reference isn't clear, there really should be
* more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Object Type Converter</em>' containment reference.
* @see #setObjectTypeConverter(ObjectTypeConverter)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_ObjectTypeConverter()
* @model containment="true"
* extendedMetaData="kind='element' name='object-type-converter' namespace='##targetNamespace'"
* @generated
*/
ObjectTypeConverter getObjectTypeConverter();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getObjectTypeConverter <em>Object Type Converter</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Object Type Converter</em>' containment reference.
* @see #getObjectTypeConverter()
* @generated
*/
void setObjectTypeConverter(ObjectTypeConverter value);
/**
* Returns the value of the '<em><b>Struct Converter</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Struct Converter</em>' containment reference isn't clear, there really should be more of
* a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Struct Converter</em>' containment reference.
* @see #setStructConverter(StructConverter)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_StructConverter()
* @model containment="true"
* extendedMetaData="kind='element' name='struct-converter' namespace='##targetNamespace'"
* @generated
*/
StructConverter getStructConverter();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getStructConverter <em>Struct Converter</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Struct Converter</em>' containment reference.
* @see #getStructConverter()
* @generated
*/
void setStructConverter(StructConverter value);
/**
* Returns the value of the '<em><b>Table Generator</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Table Generator</em>' containment reference isn't clear, there really should be more of
* a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Table Generator</em>' containment reference.
* @see #setTableGenerator(TableGenerator)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_TableGenerator()
* @model containment="true"
* extendedMetaData="kind='element' name='table-generator' namespace='##targetNamespace'"
* @generated
*/
TableGenerator getTableGenerator();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getTableGenerator <em>Table Generator</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Table Generator</em>' containment reference.
* @see #getTableGenerator()
* @generated
*/
void setTableGenerator(TableGenerator value);
/**
* Returns the value of the '<em><b>Sequence Generator</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Sequence Generator</em>' containment reference isn't clear, there really should be more
* of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Sequence Generator</em>' containment reference.
* @see #setSequenceGenerator(SequenceGenerator)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_SequenceGenerator()
* @model containment="true"
* extendedMetaData="kind='element' name='sequence-generator' namespace='##targetNamespace'"
* @generated
*/
SequenceGenerator getSequenceGenerator();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getSequenceGenerator <em>Sequence Generator</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Sequence Generator</em>' containment reference.
* @see #getSequenceGenerator()
* @generated
*/
void setSequenceGenerator(SequenceGenerator value);
/**
* Returns the value of the '<em><b>Property</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.emf.texo.orm.annotations.model.orm.Property}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Property</em>' containment reference list isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Property</em>' containment reference list.
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Property()
* @model containment="true"
* extendedMetaData="kind='element' name='property' namespace='##targetNamespace'"
* @generated
*/
EList<Property> getProperty();
/**
* Returns the value of the '<em><b>Access Methods</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Access Methods</em>' containment reference isn't clear, there really should be more of a
* description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Access Methods</em>' containment reference.
* @see #setAccessMethods(AccessMethods)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_AccessMethods()
* @model containment="true"
* extendedMetaData="kind='element' name='access-methods' namespace='##targetNamespace'"
* @generated
*/
AccessMethods getAccessMethods();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccessMethods <em>Access Methods</em>}' containment reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Access Methods</em>' containment reference.
* @see #getAccessMethods()
* @generated
*/
void setAccessMethods(AccessMethods value);
/**
* Returns the value of the '<em><b>Access</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.emf.texo.orm.annotations.model.orm.AccessType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Access</em>' attribute isn't clear, there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Access</em>' attribute.
* @see org.eclipse.emf.texo.orm.annotations.model.orm.AccessType
* @see #isSetAccess()
* @see #unsetAccess()
* @see #setAccess(AccessType)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Access()
* @model unsettable="true"
* extendedMetaData="kind='attribute' name='access'"
* @generated
*/
AccessType getAccess();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccess <em>Access</em>}' attribute.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Access</em>' attribute.
* @see org.eclipse.emf.texo.orm.annotations.model.orm.AccessType
* @see #isSetAccess()
* @see #unsetAccess()
* @see #getAccess()
* @generated
*/
void setAccess(AccessType value);
/**
* Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccess <em>Access</em>}' attribute.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #isSetAccess()
* @see #getAccess()
* @see #setAccess(AccessType)
* @generated
*/
void unsetAccess();
/**
* Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAccess <em>Access</em>}' attribute is set.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return whether the value of the '<em>Access</em>' attribute is set.
* @see #unsetAccess()
* @see #getAccess()
* @see #setAccess(AccessType)
* @generated
*/
boolean isSetAccess();
/**
* Returns the value of the '<em><b>Attribute Type</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Attribute 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>Attribute Type</em>' attribute.
* @see #setAttributeType(String)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_AttributeType()
* @model dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='attribute-type'"
* @generated
*/
String getAttributeType();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#getAttributeType <em>Attribute Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Attribute Type</em>' attribute.
* @see #getAttributeType()
* @generated
*/
void setAttributeType(String value);
/**
* Returns the value of the '<em><b>Mutable</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Mutable</em>' attribute isn't clear, there really should be more of a description
* here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Mutable</em>' attribute.
* @see #isSetMutable()
* @see #unsetMutable()
* @see #setMutable(boolean)
* @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getId_Mutable()
* @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Boolean"
* extendedMetaData="kind='attribute' name='mutable'"
* @generated
*/
boolean isMutable();
/**
* Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#isMutable <em>Mutable</em>}' attribute.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @param value the new value of the '<em>Mutable</em>' attribute.
* @see #isSetMutable()
* @see #unsetMutable()
* @see #isMutable()
* @generated
*/
void setMutable(boolean value);
/**
* Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#isMutable <em>Mutable</em>}' attribute.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #isSetMutable()
* @see #isMutable()
* @see #setMutable(boolean)
* @generated
*/
void unsetMutable();
/**
* Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.Id#isMutable <em>Mutable</em>}' attribute is set.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return whether the value of the '<em>Mutable</em>' attribute is set.
* @see #unsetMutable()
* @see #isMutable()
* @see #setMutable(boolean)
* @generated
*/
boolean isSetMutable();
/**
* 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#getId_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.Id#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);
} // Id