/** * <copyright> * </copyright> * * $Id: BasicCollection.java,v 1.5 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>Basic Collection</b></em>'. <!-- end-user-doc * --> * * <!-- begin-model-doc --> * * * @Target({METHOD, FIELD}) * @Retention(RUNTIME) public @interface BasicCollection { * * (Optional) Defines whether the value of the field or * property * should be lazily loaded or must be eagerly fetched. The EAGER * strategy is a * requirement on the persistence provider runtime that * the value must be eagerly fetched. The * LAZY strategy is a hint to * the persistence provider runtime. If not specified, defaults to * * LAZY. * FetchType fetch() default LAZY; * * * * (Optional) The name of the value column that holds the direct * collection data. Defaults to * the property or field name. * Column valueColumn() default @Column; } * * * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getValueColumn <em> * Value Column</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getConvert <em>Convert * </em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getConverter <em> * Converter</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getTypeConverter <em> * Type Converter</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getObjectTypeConverter * <em>Object Type Converter</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getStructConverter <em> * Struct Converter</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getCollectionTable <em> * Collection Table</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getJoinFetch <em>Join * Fetch</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getProperty <em> * Property</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getAccessMethods <em> * Access Methods</em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getAccess <em>Access * </em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getFetch <em>Fetch * </em>}</li> * <li>{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getName <em>Name</em>}</li> * </ul> * </p> * * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection() * @model extendedMetaData="name='basic-collection' kind='elementOnly'" * @generated */ public interface BasicCollection extends BaseOrmAnnotation { /** * Returns the value of the '<em><b>Value Column</b></em>' containment reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Value 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>Value Column</em>' containment reference. * @see #setValueColumn(Column) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_ValueColumn() * @model containment="true" * extendedMetaData="kind='element' name='value-column' namespace='##targetNamespace'" * @generated */ Column getValueColumn(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getValueColumn <em>Value Column</em>}' containment reference. * <!-- begin-user-doc --> <!-- end-user-doc --> * @param value the new value of the '<em>Value Column</em>' containment reference. * @see #getValueColumn() * @generated */ void setValueColumn(Column 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#getBasicCollection_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.BasicCollection#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#getBasicCollection_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.BasicCollection#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#getBasicCollection_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.BasicCollection#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#getBasicCollection_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.BasicCollection#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#getBasicCollection_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.BasicCollection#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>Collection Table</b></em>' containment reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Collection Table</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>Collection Table</em>' containment reference. * @see #setCollectionTable(EclipselinkCollectionTable) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_CollectionTable() * @model containment="true" * extendedMetaData="kind='element' name='collection-table' namespace='##targetNamespace'" * @generated */ EclipselinkCollectionTable getCollectionTable(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getCollectionTable <em>Collection Table</em>}' containment reference. * <!-- begin-user-doc --> <!-- end-user-doc --> * @param value the new value of the '<em>Collection Table</em>' containment reference. * @see #getCollectionTable() * @generated */ void setCollectionTable(EclipselinkCollectionTable value); /** * Returns the value of the '<em><b>Join Fetch</b></em>' attribute. * The literals are from the enumeration {@link org.eclipse.emf.texo.orm.annotations.model.orm.JoinFetchType}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Join Fetch</em>' attribute isn't clear, there really should be more of a description * here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Join Fetch</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.JoinFetchType * @see #isSetJoinFetch() * @see #unsetJoinFetch() * @see #setJoinFetch(JoinFetchType) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_JoinFetch() * @model unsettable="true" * extendedMetaData="kind='element' name='join-fetch' namespace='##targetNamespace'" * @generated */ JoinFetchType getJoinFetch(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getJoinFetch <em>Join Fetch</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * @param value the new value of the '<em>Join Fetch</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.JoinFetchType * @see #isSetJoinFetch() * @see #unsetJoinFetch() * @see #getJoinFetch() * @generated */ void setJoinFetch(JoinFetchType value); /** * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getJoinFetch <em>Join Fetch</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * @see #isSetJoinFetch() * @see #getJoinFetch() * @see #setJoinFetch(JoinFetchType) * @generated */ void unsetJoinFetch(); /** * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getJoinFetch <em>Join Fetch</em>}' attribute is set. * <!-- begin-user-doc --> <!-- end-user-doc --> * @return whether the value of the '<em>Join Fetch</em>' attribute is set. * @see #unsetJoinFetch() * @see #getJoinFetch() * @see #setJoinFetch(JoinFetchType) * @generated */ boolean isSetJoinFetch(); /** * Returns the value of the '<em><b>Batch Fetch</b></em>' containment reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Batch Fetch</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>Batch Fetch</em>' containment reference. * @see #setBatchFetch(BatchFetch) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_BatchFetch() * @model containment="true" * extendedMetaData="kind='element' name='batch-fetch' namespace='##targetNamespace'" * @generated */ BatchFetch getBatchFetch(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getBatchFetch <em>Batch Fetch</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Batch Fetch</em>' containment reference. * @see #getBatchFetch() * @generated */ void setBatchFetch(BatchFetch 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#getBasicCollection_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#getBasicCollection_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.BasicCollection#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>Noncacheable</b></em>' containment reference. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Noncacheable</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>Noncacheable</em>' containment reference. * @see #setNoncacheable(EmptyType) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_Noncacheable() * @model containment="true" * extendedMetaData="kind='element' name='noncacheable' namespace='##targetNamespace'" * @generated */ EmptyType getNoncacheable(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getNoncacheable <em>Noncacheable</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Noncacheable</em>' containment reference. * @see #getNoncacheable() * @generated */ void setNoncacheable(EmptyType 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#getBasicCollection_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.BasicCollection#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.BasicCollection#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.BasicCollection#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>Fetch</b></em>' attribute. * The literals are from the enumeration {@link org.eclipse.emf.texo.orm.annotations.model.orm.FetchType}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Fetch</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.FetchType * @see #isSetFetch() * @see #unsetFetch() * @see #setFetch(FetchType) * @see org.eclipse.emf.texo.orm.annotations.model.orm.OrmPackage#getBasicCollection_Fetch() * @model unsettable="true" * extendedMetaData="kind='attribute' name='fetch'" * @generated */ FetchType getFetch(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getFetch <em>Fetch</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * @param value the new value of the '<em>Fetch</em>' attribute. * @see org.eclipse.emf.texo.orm.annotations.model.orm.FetchType * @see #isSetFetch() * @see #unsetFetch() * @see #getFetch() * @generated */ void setFetch(FetchType value); /** * Unsets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getFetch <em>Fetch</em>}' attribute. * <!-- begin-user-doc --> <!-- end-user-doc --> * @see #isSetFetch() * @see #getFetch() * @see #setFetch(FetchType) * @generated */ void unsetFetch(); /** * Returns whether the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#getFetch <em>Fetch</em>}' attribute is set. * <!-- begin-user-doc --> <!-- end-user-doc --> * @return whether the value of the '<em>Fetch</em>' attribute is set. * @see #unsetFetch() * @see #getFetch() * @see #setFetch(FetchType) * @generated */ boolean isSetFetch(); /** * 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#getBasicCollection_Name() * @model dataType="org.eclipse.emf.ecore.xml.type.String" * extendedMetaData="kind='attribute' name='name'" * @generated */ String getName(); /** * Sets the value of the '{@link org.eclipse.emf.texo.orm.annotations.model.orm.BasicCollection#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); } // BasicCollection