/******************************************************************************* * Copyright (c) 2006, 2007 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.core.internal.mappings; import org.eclipse.emf.common.util.EList; import org.eclipse.jpt.core.internal.IJpaSourceObject; import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.ITypeMapping; import org.eclipse.jpt.core.internal.platform.DefaultsContext; import org.eclipse.jpt.db.internal.Schema; import org.eclipse.jpt.db.internal.Table; /** * * A representation of the model object 'ITable'. * * *

* The following features are supported: *

*

* * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable() * @model kind="class" interface="true" abstract="true" * @generated */ public interface ITable extends IJpaSourceObject { /** * Returns the value of the 'Name' attribute. * *

* If the meaning of the 'Name' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Name' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_Name() * @model changeable="false" volatile="true" derived="true" * @generated */ String getName(); /** * Returns the value of the 'Default Name' attribute. * *

* If the meaning of the 'Default Name' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Default Name' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_DefaultName() * @model changeable="false" * @generated */ String getDefaultName(); /** * Returns the value of the 'Catalog' attribute. * *

* If the meaning of the 'Catalog' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Catalog' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_Catalog() * @model changeable="false" volatile="true" derived="true" * @generated */ String getCatalog(); /** * Returns the value of the 'Specified Catalog' attribute. * *

* If the meaning of the 'Specified Catalog' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Specified Catalog' attribute. * @see #setSpecifiedCatalog(String) * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_SpecifiedCatalog() * @model * @generated */ String getSpecifiedCatalog(); /** * Sets the value of the '{@link org.eclipse.jpt.core.internal.mappings.ITable#getSpecifiedCatalog Specified Catalog}' attribute. * * * @param value the new value of the 'Specified Catalog' attribute. * @see #getSpecifiedCatalog() * @generated */ void setSpecifiedCatalog(String value); /** * Returns the value of the 'Default Catalog' attribute. * *

* If the meaning of the 'Default Catalog' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Default Catalog' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_DefaultCatalog() * @model changeable="false" * @generated */ String getDefaultCatalog(); /** * Returns the value of the 'Schema' attribute. * *

* If the meaning of the 'Schema' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Schema' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_Schema() * @model changeable="false" volatile="true" derived="true" * @generated */ String getSchema(); /** * Returns the value of the 'Specified Schema' attribute. * *

* If the meaning of the 'Specified Schema' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Specified Schema' attribute. * @see #setSpecifiedSchema(String) * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_SpecifiedSchema() * @model * @generated */ String getSpecifiedSchema(); /** * Sets the value of the '{@link org.eclipse.jpt.core.internal.mappings.ITable#getSpecifiedSchema Specified Schema}' attribute. * * * @param value the new value of the 'Specified Schema' attribute. * @see #getSpecifiedSchema() * @generated */ void setSpecifiedSchema(String value); /** * Returns the value of the 'Default Schema' attribute. * *

* If the meaning of the 'Default Schema' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Default Schema' attribute. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_DefaultSchema() * @model changeable="false" * @generated */ String getDefaultSchema(); /** * Returns the value of the 'Unique Constraints' containment reference list. * The list contents are of type {@link org.eclipse.jpt.core.internal.mappings.IUniqueConstraint}. * *

* If the meaning of the 'Unique Constraints' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Unique Constraints' containment reference list. * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_UniqueConstraints() * @model type="org.eclipse.jpt.core.internal.mappings.IUniqueConstraint" containment="true" * @generated */ EList getUniqueConstraints(); /** * Returns the value of the 'Specified Name' attribute. * *

* If the meaning of the 'Specified Name' attribute isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Specified Name' attribute. * @see #setSpecifiedName(String) * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getITable_SpecifiedName() * @model * @generated */ String getSpecifiedName(); /** * Sets the value of the '{@link org.eclipse.jpt.core.internal.mappings.ITable#getSpecifiedName Specified Name}' attribute. * * * @param value the new value of the 'Specified Name' attribute. * @see #getSpecifiedName() * @generated */ void setSpecifiedName(String value); void refreshDefaults(DefaultsContext defaultsContext); Table dbTable(); Schema dbSchema(); /** * Return true if this table is connected to a datasource */ boolean isConnected(); /** * Return true if this table's schema can be resolved to a schema on the active connection */ boolean hasResolvedSchema(); /** * Return true if this can be resolved to a table on the active connection */ boolean isResolved(); ITextRange getNameTextRange(); ITextRange getSchemaTextRange(); Owner getOwner(); IUniqueConstraint createUniqueConstraint(int index); /** * interface allowing tables to be owned by various objects */ interface Owner { ITextRange getTextRange(); ITypeMapping getTypeMapping(); } }