/** * Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis, * Rick Salay. * 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: * Alessio Di Sandro - Implementation. */ package edu.toronto.cs.se.modelepedia.relationaldatabase; import org.eclipse.emf.common.util.EList; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Table</b></em>'. * <!-- end-user-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Table#getColumns <em>Columns</em>}</li> * <li>{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Table#getPrimaryKey <em>Primary Key</em>}</li> * <li>{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Table#getForeignKeys <em>Foreign Keys</em>}</li> * </ul> * </p> * * @see edu.toronto.cs.se.modelepedia.relationaldatabase.RelationalDatabasePackage#getTable() * @model annotation="gmf.node label='name'" * @generated */ public interface Table extends NamedElement { /** * Returns the value of the '<em><b>Columns</b></em>' containment reference list. * The list contents are of type {@link edu.toronto.cs.se.modelepedia.relationaldatabase.Column}. * It is bidirectional and its opposite is '{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Column#getTable <em>Table</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>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>Columns</em>' containment reference list. * @see edu.toronto.cs.se.modelepedia.relationaldatabase.RelationalDatabasePackage#getTable_Columns() * @see edu.toronto.cs.se.modelepedia.relationaldatabase.Column#getTable * @model opposite="table" containment="true" required="true" * annotation="gmf.compartment layout='list'" * @generated */ EList<Column> getColumns(); /** * Returns the value of the '<em><b>Primary Key</b></em>' reference. * It is bidirectional and its opposite is '{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Column#getTableAsPrimaryKey <em>Table As Primary Key</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Primary Key</em>' reference isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Primary Key</em>' reference. * @see #setPrimaryKey(Column) * @see edu.toronto.cs.se.modelepedia.relationaldatabase.RelationalDatabasePackage#getTable_PrimaryKey() * @see edu.toronto.cs.se.modelepedia.relationaldatabase.Column#getTableAsPrimaryKey * @model opposite="tableAsPrimaryKey" required="true" * @generated */ Column getPrimaryKey(); /** * Sets the value of the '{@link edu.toronto.cs.se.modelepedia.relationaldatabase.Table#getPrimaryKey <em>Primary Key</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Primary Key</em>' reference. * @see #getPrimaryKey() * @generated */ void setPrimaryKey(Column value); /** * Returns the value of the '<em><b>Foreign Keys</b></em>' containment reference list. * The list contents are of type {@link edu.toronto.cs.se.modelepedia.relationaldatabase.ForeignKey}. * It is bidirectional and its opposite is '{@link edu.toronto.cs.se.modelepedia.relationaldatabase.ForeignKey#getTable <em>Table</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Foreign Keys</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>Foreign Keys</em>' containment reference list. * @see edu.toronto.cs.se.modelepedia.relationaldatabase.RelationalDatabasePackage#getTable_ForeignKeys() * @see edu.toronto.cs.se.modelepedia.relationaldatabase.ForeignKey#getTable * @model opposite="table" containment="true" * annotation="gmf.compartment layout='list'" * @generated */ EList<ForeignKey> getForeignKeys(); } // Table