org.apache.ws.jaxme.sqls.impl

Class TableImpl

Implemented Interfaces:
Table
Known Direct Subclasses:
DB2TableImpl, HsqlDbTableImpl, ViewImpl

public class TableImpl
extends java.lang.Object
implements Table

Author:
Jochen Wiedmann

Nested Class Summary

static class
TableImpl.NameImpl

Constructor Summary

TableImpl(Schema pSchema, Table.Name pName)

Method Summary

boolean
equals(Object o)
Column
getColumn(String pName)
Returns the column with the given name or null, if no such column exists.
Column
getColumn(Column.Name pName)
Returns the column with the given name or null, if no such column exists.
Iterator
getColumns()
Returns the table columns.
DeleteStatement
getDeleteStatement()
Returns an UPDATE statement for updating a column in the table.
Iterator
getForeignKeys()
Returns an Iterator to the foreign keys defined on the table.
Iterator
getIndexes()
Returns an Iterator to the indexes defined on the table.
InsertStatement
getInsertStatement()
Returns an INSERT statement for filling all the values.
Table.Name
getName()
Returns the table name.
Index
getPrimaryKey()
Returns the tables primary key, if any, or null, if the table doesn't have a primary key.
String
getQName()
Returns the tables qualified name, which is getSchema().getName() + "." + getName().
Schema
getSchema()
Returns the table schema.
SelectStatement
getSelectStatement()
Returns a SELECT statement for selecting all the columns.
UpdateStatement
getUpdateStatement()
Returns an UPDATE statement for updating a column in the table.
int
hashCode()
Column
newColumn(String pName, Column.Type pType)
Creates a new column.
Column
newColumn(Column.Name pName, Column.Type pType)
Creates a new column.
ForeignKey
newForeignKey(Table pTable)
Creates a new foreign key referencing the given table.
Index
newIndex()
Creates a new, non-unique index on the table.
Index
newKey()
Creates a new, unique index on the table.
Index
newPrimaryKey()
Creates a new primary key on the table.

Constructor Details

TableImpl

protected TableImpl(Schema pSchema,
                    Table.Name pName)

Method Details

equals

public boolean equals(Object o)

getColumn

public Column getColumn(String pName)
Returns the column with the given name or null, if no such column exists.
Specified by:
getColumn in interface Table

getColumn

public Column getColumn(Column.Name pName)
Returns the column with the given name or null, if no such column exists.
Specified by:
getColumn in interface Table

getColumns

public Iterator getColumns()
Returns the table columns.
Specified by:
getColumns in interface Table

getDeleteStatement

public DeleteStatement getDeleteStatement()
Returns an UPDATE statement for updating a column in the table. In other words: If the table FOO has the primary key columns A and B, then the statement DELETE FROM FOO WHERE A = ? AND B = ? will be returned.
Specified by:
getDeleteStatement in interface Table

getForeignKeys

public Iterator getForeignKeys()
Returns an Iterator to the foreign keys defined on the table.
Specified by:
getForeignKeys in interface Table

getIndexes

public Iterator getIndexes()
Returns an Iterator to the indexes defined on the table. This iterator includes the primary key, if any.
Specified by:
getIndexes in interface Table

getInsertStatement

public InsertStatement getInsertStatement()
Returns an INSERT statement for filling all the values. In other words: If the table FOO has the columns A, B, and C, then the statement INSERT INTO FOO (A,B,C) VALUES (?, ?, ?) will be returned.
Specified by:
getInsertStatement in interface Table

getName

public Table.Name getName()
Returns the table name.
Specified by:
getName in interface Table

getPrimaryKey

public Index getPrimaryKey()
Returns the tables primary key, if any, or null, if the table doesn't have a primary key.
Specified by:
getPrimaryKey in interface Table

getQName

public String getQName()
Returns the tables qualified name, which is getSchema().getName() + "." + getName(). If the schema is the default schema, returns getName().
Specified by:
getQName in interface Table

getSchema

public Schema getSchema()
Returns the table schema.
Specified by:
getSchema in interface Table

getSelectStatement

public SelectStatement getSelectStatement()
Returns a SELECT statement for selecting all the columns. In other words: If the table FOO has the columns A, B, and C, then the statement SELECT A, B, C FROM FOO will be returned.
Specified by:
getSelectStatement in interface Table

getUpdateStatement

public UpdateStatement getUpdateStatement()
Returns an UPDATE statement for updating a column in the table. In other words: If the table FOO has the columns A, B, C and D with the primary key columns A and B, then the statement UPDATE FOO SET C = ?, D = ? WHERE A = ? AND B = ? will be returned.
Specified by:
getUpdateStatement in interface Table

hashCode

public int hashCode()

newColumn

public Column newColumn(String pName,
                        Column.Type pType)
Creates a new column.
Specified by:
newColumn in interface Table

newColumn

public Column newColumn(Column.Name pName,
                        Column.Type pType)
Creates a new column.
Specified by:
newColumn in interface Table

newForeignKey

public ForeignKey newForeignKey(Table pTable)
Creates a new foreign key referencing the given table.
Specified by:
newForeignKey in interface Table

newIndex

public Index newIndex()
Creates a new, non-unique index on the table.
Specified by:
newIndex in interface Table

newKey

public Index newKey()
Creates a new, unique index on the table.
Specified by:
newKey in interface Table

newPrimaryKey

public Index newPrimaryKey()
Creates a new primary key on the table.
Specified by:
newPrimaryKey in interface Table