/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.schema.tools.model.jdbc;
import org.jdom.Namespace;
import org.teiid.designer.schema.tools.model.schema.SchemaModel;
import org.teiid.designer.schema.tools.model.schema.SchemaObject;
/**
* @since 8.0
*/
public interface Table extends DatabaseElement {
/**
* Returns a String of all the namespace declarations in prefix:uri form as
* a single String with spaces between each declaration
*
* @return the String of all the Namespace declarations
*/
public String getNamespaceDeclaration();
/**
*
* Add a namespace to the list of namespaces to declare
*
* @param ns - the namespace to add
*/
public void addNamespace(Namespace ns);
public String getCatalog();
public void setCatalog(String catalog);
public String getSchema();
public void setSchema(String schema);
/**
*
* Add a column to the table
*
* @param column
* the column to add
*/
public void addColumn(Column column);
/**
*
* Returns all of the columns contained in the table
*
* @return an array of Columns
*/
public Column[] getColumns();
/**
*
* Returns all of the tables that have a foreign key relationship
* to this table.
*
* @return an array of Tables
*/
public Table[] getChildTables();
/**
*
* Returns all of the tables that this table has a foreign key relationship to.
*
* @return an array of Tables
*/
public Table[] getParentTables();
/**
* Returns the Relationship value that defines the tables relation to its parent.
* @return - the Relationship value.
*/
public int getRelationToParent();
public int getMaxOccurs();
public void setSchemaModel(SchemaModel schemaModel);
public void setBase(boolean b);
public SchemaObject getElement();
public void setElement(SchemaObject element);
}