Package com.mckoi.database

## Class DataTableColumnDef

- java.lang.Object
- - com.mckoi.database.DataTableColumnDef

    public class DataTableColumnDef
    extends java.lang.Object

All the information regarding a column in a table.

Author:
  Tobias Downer

### Field Summary

Fields
`TType` `type` The TType object for this column.

### Constructor Summary

Constructors
`DataTableColumnDef()` Constructs the column definition.
`DataTableColumnDef​(DataTableColumnDef column_def)` Creates a copy of the given column definition.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`java.lang.Class` `classType()` Returns the Class of Java object that represents this column.
`ColumnDescription` `columnDescriptionValue​(java.lang.String column_name)` Returns this column as a ColumnDescription object and gives the column description the given name.
`static DataTableColumnDef` `createBinaryColumn​(java.lang.String name)` Convenience helper - creates a DataTableColumnDef that holds a binary value.
`static DataTableColumnDef` `createBooleanColumn​(java.lang.String name)` Convenience helper - creates a DataTableColumnDef that holds a boolean value.
`static DataTableColumnDef` `createNumericColumn​(java.lang.String name)` Convenience helper - creates a DataTableColumnDef that holds a numeric value.
`static DataTableColumnDef` `createStringColumn​(java.lang.String name)` Convenience helper - creates a DataTableColumnDef that holds a string value.
`void` `dump​(java.io.PrintStream out)` Dumps information about this object to the PrintStream.
`java.lang.String` `getClassConstraint()` If this column represents a Java Object, this returns the name of the class the objects stored in the column must be derived from.
`java.lang.Class` `getClassConstraintAsClass()` If this column represents a Java Object, this returns the class object that is the constraining class for the column.
`int` `getDBType()`
`java.lang.String` `getDBTypeString()` Returns the type as a String.
`int` `getDecomposition()`
`Expression` `getDefaultExpression​(TransactionSystem system)`
`java.lang.String` `getDefaultExpressionString()`
`java.lang.String` `getForeignKey()` Deprecated.
`java.lang.String` `getIndexScheme()` Returns the name of the scheme we use to index this column.
`java.lang.String` `getLocaleString()`
`java.lang.String` `getName()`
`int` `getScale()`
`int` `getSize()`
`int` `getSQLType()`
`java.lang.String` `getSQLTypeString()` Returns the type as a String.
`int` `getStrength()`
`TType` `getTType()` Returns the TType for this column.
`void` `initTTypeInfo()` Initializes the TType information for a column.
`boolean` `isIndexableType()` Returns true if this type of column is able to be indexed.
`boolean` `isNotNull()`
`void` `setClassConstraint​(java.lang.String class_constraint)` If this column represents a Java object, this must be a class the object is derived from to be added to this column.
`void` `setDBType​(int db_type)`
`void` `setDefaultExpression​(Expression expression)`
`void` `setForeignKey​(java.lang.String foreign_key)` Deprecated.
`void` `setFromTType​(TType type)` Sets this DataTableColumnDef object up from information in the TType object.
`void` `setIndexScheme​(java.lang.String index_scheme)` Sets the indexing scheme for this column.
`void` `setName​(java.lang.String name)`
`void` `setNotNull​(boolean status)`
`void` `setScale​(int scale)`
`void` `setSize​(int size)`
`void` `setSQLType​(int sql_type)`
`void` `setStringLocale​(java.lang.String locale_str, int strength, int decomposition)`
`static java.lang.String` `sqlTypeToString​(int sql_type)` Returns a string that represents the given SQLType enumeration passed to it.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### type

    public TType type

The TType object for this column.

### Constructor Detail

#### DataTableColumnDef

    public DataTableColumnDef()

Constructs the column definition.

#### DataTableColumnDef

    public DataTableColumnDef​(DataTableColumnDef column_def)

Creates a copy of the given column definition.

### Method Detail

#### setName

    public void setName​(java.lang.String name)

#### setNotNull

    public void setNotNull​(boolean status)

#### setSQLType

    public void setSQLType​(int sql_type)

#### setDBType

    public void setDBType​(int db_type)

#### setSize

    public void setSize​(int size)

#### setScale

    public void setScale​(int scale)

#### setStringLocale

    public void setStringLocale​(java.lang.String locale_str,
                                int strength,
                                int decomposition)

#### setDefaultExpression

    public void setDefaultExpression​(Expression expression)

#### setForeignKey

    public void setForeignKey​(java.lang.String foreign_key)

Deprecated.

#### setIndexScheme

    public void setIndexScheme​(java.lang.String index_scheme)

Sets the indexing scheme for this column. Either 'InsertSearch' or 'BlindSearch'. If not set, then default to insert search.

#### setClassConstraint

    public void setClassConstraint​(java.lang.String class_constraint)

If this column represents a Java object, this must be a class the object is derived from to be added to this column.

#### setFromTType

    public void setFromTType​(TType type)

Sets this DataTableColumnDef object up from information in the TType object. This is useful when we need to create a DataTableColumnDef object to store information based on nothing more than a TType object. This comes in useful for purely functional tables.

#### initTTypeInfo

    public void initTTypeInfo()

Initializes the TType information for a column. This should be called at the last part of a DataTableColumnDef setup.

#### getName

    public java.lang.String getName()

#### isNotNull

    public boolean isNotNull()

#### getSQLType

    public int getSQLType()

#### getSQLTypeString

    public java.lang.String getSQLTypeString()

Returns the type as a String.

#### getDBTypeString

    public java.lang.String getDBTypeString()

Returns the type as a String.

#### classType

    public java.lang.Class classType()

Returns the Class of Java object that represents this column.

#### getDBType

    public int getDBType()

#### getSize

    public int getSize()

#### getScale

    public int getScale()

#### getLocaleString

    public java.lang.String getLocaleString()

#### getStrength

    public int getStrength()

#### getDecomposition

    public int getDecomposition()

#### getDefaultExpression

    public Expression getDefaultExpression​(TransactionSystem system)

#### getDefaultExpressionString

    public java.lang.String getDefaultExpressionString()

#### getForeignKey

    public java.lang.String getForeignKey()

Deprecated.

#### getIndexScheme

    public java.lang.String getIndexScheme()

Returns the name of the scheme we use to index this column. It will be either 'InsertSearch' or 'BlindSearch'.

#### isIndexableType

    public boolean isIndexableType()

Returns true if this type of column is able to be indexed.

#### getClassConstraint

    public java.lang.String getClassConstraint()

If this column represents a Java Object, this returns the name of the class the objects stored in the column must be derived from.

#### getClassConstraintAsClass

    public java.lang.Class getClassConstraintAsClass()

If this column represents a Java Object, this returns the class object that is the constraining class for the column.

#### getTType

    public TType getTType()

Returns the TType for this column.

#### columnDescriptionValue

    public ColumnDescription columnDescriptionValue​(java.lang.String column_name)

Returns this column as a ColumnDescription object and gives the column description the given name.

#### dump

    public void dump​(java.io.PrintStream out)

Dumps information about this object to the PrintStream.

#### sqlTypeToString

    public static java.lang.String sqlTypeToString​(int sql_type)

Returns a string that represents the given SQLType enumeration passed to it. For example, pass SQLTypes.BIT and it returns the string "BIT"

#### createNumericColumn

    public static DataTableColumnDef createNumericColumn​(java.lang.String name)

Convenience helper - creates a DataTableColumnDef that holds a numeric value.

#### createBooleanColumn

    public static DataTableColumnDef createBooleanColumn​(java.lang.String name)

Convenience helper - creates a DataTableColumnDef that holds a boolean value.

#### createStringColumn

    public static DataTableColumnDef createStringColumn​(java.lang.String name)

Convenience helper - creates a DataTableColumnDef that holds a string value.

#### createBinaryColumn

    public static DataTableColumnDef createBinaryColumn​(java.lang.String name)

Convenience helper - creates a DataTableColumnDef that holds a binary value.