blob: 75b619398a9eec3b19619412bef751d03e051959 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2011 Oracle.
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle - initial API and implementation
*******************************************************************************/
package org.eclipse.jpt.jpa.core.resource.orm.v2_0;
import org.eclipse.emf.common.util.EList;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.resource.orm.FetchType;
import org.eclipse.jpt.jpa.core.resource.orm.MapKey;
import org.eclipse.jpt.jpa.core.resource.orm.XmlAssociationOverrideContainer;
import org.eclipse.jpt.jpa.core.resource.orm.XmlAttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference;
import org.eclipse.jpt.jpa.core.resource.orm.XmlCollectionTable;
import org.eclipse.jpt.jpa.core.resource.orm.XmlColumn;
import org.eclipse.jpt.jpa.core.resource.orm.XmlConvertibleMapping;
import org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Xml Element Collection 20</b></em>'.
*
* Provisional API: This interface is part of an interim API that is still
* under development and expected to change significantly before reaching
* stability. It is available at this early stage to solicit feedback from
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getFetch <em>Fetch</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyJoinColumns <em>Map Key Join Columns</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getColumn <em>Column</em>}</li>
* <li>{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getCollectionTable <em>Collection Table</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0()
* @model kind="class" interface="true" abstract="true"
* @generated
*/
public interface XmlElementCollection_2_0 extends XmlConvertibleMapping, XmlOrderable, XmlAttributeOverrideContainer, XmlAssociationOverrideContainer, XmlMapKeyAttributeOverrideContainer_2_0, XmlMapKeyConvertibleMapping_2_0
{
/**
* Returns the value of the '<em><b>Target Class</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Target Class</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Target Class</em>' attribute.
* @see #setTargetClass(String)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_TargetClass()
* @model dataType="org.eclipse.emf.ecore.xml.type.String"
* @generated
*/
String getTargetClass();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getTargetClass <em>Target Class</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Target Class</em>' attribute.
* @see #getTargetClass()
* @generated
*/
void setTargetClass(String value);
/**
* Returns the value of the '<em><b>Fetch</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.jpt.jpa.core.resource.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.jpt.jpa.core.resource.orm.FetchType
* @see #setFetch(FetchType)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Fetch()
* @model
* @generated
*/
FetchType getFetch();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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.jpt.jpa.core.resource.orm.FetchType
* @see #getFetch()
* @generated
*/
void setFetch(FetchType value);
/**
* Returns the value of the '<em><b>Map Key</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Map Key</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>Map Key</em>' containment reference.
* @see #setMapKey(MapKey)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKey()
* @model containment="true"
* @generated
*/
MapKey getMapKey();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKey <em>Map Key</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Map Key</em>' containment reference.
* @see #getMapKey()
* @generated
*/
void setMapKey(MapKey value);
/**
* Returns the value of the '<em><b>Map Key Class</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Map Key Class</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>Map Key Class</em>' containment reference.
* @see #setMapKeyClass(XmlClassReference)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyClass()
* @model containment="true"
* @generated
*/
XmlClassReference getMapKeyClass();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyClass <em>Map Key Class</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Map Key Class</em>' containment reference.
* @see #getMapKeyClass()
* @generated
*/
void setMapKeyClass(XmlClassReference value);
/**
* Returns the value of the '<em><b>Map Key Column</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Map Key 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>Map Key Column</em>' containment reference.
* @see #setMapKeyColumn(XmlColumn)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyColumn()
* @model containment="true"
* @generated
*/
XmlColumn getMapKeyColumn();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#getMapKeyColumn <em>Map Key Column</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Map Key Column</em>' containment reference.
* @see #getMapKeyColumn()
* @generated
*/
void setMapKeyColumn(XmlColumn value);
/**
* Returns the value of the '<em><b>Map Key Join Columns</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.jpt.jpa.core.resource.orm.XmlJoinColumn}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Map Key Join Columns</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>Map Key Join Columns</em>' containment reference list.
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_MapKeyJoinColumns()
* @model containment="true"
* @generated
*/
EList<XmlJoinColumn> getMapKeyJoinColumns();
/**
* 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(XmlColumn)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_Column()
* @model containment="true"
* @generated
*/
XmlColumn getColumn();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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(XmlColumn 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(XmlCollectionTable)
* @see org.eclipse.jpt.jpa.core.resource.orm.v2_0.OrmV2_0Package#getXmlElementCollection_2_0_CollectionTable()
* @model containment="true"
* @generated
*/
XmlCollectionTable getCollectionTable();
/**
* Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlElementCollection_2_0#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(XmlCollectionTable value);
/**
* Return the {@link TextRange} for the target-class attribute.
*/
TextRange getTargetClassTextRange();
/**
* Return the {@link TextRange} for the map-key-class attribute.
*/
TextRange getMapKeyClassTextRange();
} // XmlElementCollection_2_0