www.element4solution.com

e4s.db.dict
Class E4DBColumn

java.lang.Object
  extended by e4s.util.E4Object
      extended by e4s.db.E4DBColumnInfo
          extended by e4s.db.dict.E4DBColumn
All Implemented Interfaces:
E4InputFieldName_Intf, java.lang.Comparable

public class E4DBColumn
extends E4DBColumnInfo
implements java.lang.Comparable

Part of the datadictionary: holds column information for database tables.

Since:
JDK 1.4
See Also:
E4DBTableName, E4DBTable, E4DBDatabase, E4DBColumnsVec

Field Summary
static java.lang.String _XML_ATTR_AUTOINCR
           
static java.lang.String _XML_ATTR_COLNAME
           
static java.lang.String _XML_ATTR_DATALEN
           
static java.lang.String _XML_ATTR_DATATYPE
           
static java.lang.String _XML_ATTR_IDX_ID
           
static java.lang.String _XML_ATTR_IDX_ORDER
           
static java.lang.String _XML_ATTR_IDX_SEQUENCE
           
static java.lang.String _XML_ATTR_IDX_UNIQUE
           
static java.lang.String _XML_TAG_COLUMN
           
static java.lang.String _XML_TAG_INDEX
           
static E4DBColumnType[] DATATYPES
           
static int MAX_LENGTH_COLUMN_NAME
           
static java.lang.String SQL_DATATYPE_FLOAT
          SQL representation of float datatype.
static java.lang.String SQL_DATATYPE_INT
          SQL representation of integer datatype.
 
Fields inherited from class e4s.db.E4DBColumnInfo
m_ColumnBaseType, m_ColumnName, m_ColumnType
 
Fields inherited from class e4s.util.E4Object
CRLF, E4S_CORE_SYSTEM_LANGUAGE, NBSP, NULLSTR, URL_ENCODING_CHARSET
 
Constructor Summary
E4DBColumn()
           
E4DBColumn(E4DBColumnName name, E4DBColumnType type, int len)
           
 
Method Summary
static java.lang.String _getSVNVersionString()
          Get version info string from subversion.
 void addReference(E4DBTableName table, E4DBColumnName column, int status)
           
 int compareTo(java.lang.Object o)
          Compare two column names.
 void DEBUG()
           
 boolean equals(E4DBColumnName cName)
           
 java.lang.String formatColumnType()
           
static java.lang.String formatColumnType(E4DBColumnType db_coltype, int len)
           
protected  java.lang.String generateRemark(E4DBTable_Intf table, boolean branch_index)
           
static java.lang.String generateRemark(E4DBTable_Intf table, E4DBColumnInfo column, java.lang.String txt, java.lang.String additional, boolean index_branch)
           
protected  java.lang.String generateRemark(E4DBTable_Intf table, java.lang.String txt)
           
protected  java.lang.String generateRemark(E4DBTable_Intf table, java.lang.String txt, java.lang.String additional, boolean branch_index)
           
protected  java.lang.String generateRemark(java.lang.String txt)
           
protected  java.lang.String generateRemark(java.lang.String txt, java.lang.String additional, boolean branch_index)
           
 java.lang.String getDataType_DB()
           
 java.lang.String getDatatype_Java()
          Return the datatype as it would be instanciated in Java language.
 int getIndexSequence(int idx_num)
          There is an array [0..MAXINDEX - 1] at each column that defines, if this column is part of this particular index.
 E4DBReferenceVec getReferenceVec()
           
static java.lang.String getSqlDataType(E4DBColumnType columntype, int len, java.lang.String nvarchar, java.lang.String ntext)
           
 java.lang.String getSqlDataType(E4DBConnection_Intf con, E4DBTypes types)
           
static java.lang.String getSqlDataType(E4DBType type, java.lang.String nvarchar, java.lang.String ntext)
           
 boolean hasChanged()
           
 int hasReference(E4DBTableName table, E4DBColumnName column)
           
 boolean is_E4()
          Check, if this type is an E4S defined datatype.
 boolean isDeleted()
           
 boolean isNullable()
           
 boolean renameType(E4DBColumnType oldname, E4DBColumnType newname)
           
 void resetChanged()
           
 void resetDataTypeDB()
           
 void resetIndex()
          Exclude this column from all the indexes.
 void resetIndex(int idx_num)
          Exclude the column from the specified index.
 void setColumnName(E4DBColumnName columnname)
           
 void setColumnName(java.lang.String columnname)
          Deprecated.  
 void setDataType(E4DBColumnType datatype)
           
 void setDataType(E4DBColumnType datatype, boolean validate)
           
 void setDatatypeDB(java.lang.String columnType, int len)
           
 void setDeleted()
           
 void setIndex(int idx_num, int sequence)
          Include the column into the specified index.
 void setNullable(boolean nullable)
           
 java.lang.String toString()
           
 void toXml(E4PrintStream pstr)
           
 
Methods inherited from class e4s.db.E4DBColumnInfo
equals, equalsIgnoreCase, getColumnBaseClass, getColumnName, getColumnType, getHtmlParamName, getLen, getName, getRem, is_E4Date, is_E4Long, is_E4String, is_E4StringImage, isAutoincrement, isBoolean, isColumnType, isDate, isString, isText, makeXmlString_Dictionary, makeXmlString_Export, setAutoincrement, setLen, setRem, sqlRequiresQuotes
 
Methods inherited from class e4s.util.E4Object
Calendar, CName, CName, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelNone, E4LabelNone, E4LabelNone, E4LabelNone, E4LabelSys, E4LabelSys, e4sCopyright, e4sVersion, encode, encode, encode, encodeHtml, encodeHtml, encodeHtml, encodeURL, encodeURL, encodeURL, finalize, getLINE, getTRACE, getTRACE, getTRACE, getTRACE, getTRACE, getTRACE, getTraceMemory, HtmlEncode, HtmlEncode, HtmlEncode, isdecimal, isdigit, isnotok, isnotok, isnumeric, isok, isok, isok, isok, lastCallingFunction, lastCallingFunction, lastCallingFunction, lastCallingFunction, lastCallingStack, mkdirs, null2nbsp, null2nbsp, null2nbsp, ok, ok, ok, ok, outPrintln, setLogFile4Trace, setTraceMemory, STACKTRACE, toDebug, toDouble, toFloat, toFloat, TRACE_CALLS, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, wait
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DATATYPES

public static final E4DBColumnType[] DATATYPES

_XML_TAG_COLUMN

public static final java.lang.String _XML_TAG_COLUMN
See Also:
Constant Field Values

_XML_ATTR_DATATYPE

public static final java.lang.String _XML_ATTR_DATATYPE
See Also:
Constant Field Values

_XML_ATTR_DATALEN

public static final java.lang.String _XML_ATTR_DATALEN
See Also:
Constant Field Values

_XML_ATTR_COLNAME

public static final java.lang.String _XML_ATTR_COLNAME
See Also:
Constant Field Values

_XML_TAG_INDEX

public static final java.lang.String _XML_TAG_INDEX
See Also:
Constant Field Values

_XML_ATTR_IDX_ID

public static final java.lang.String _XML_ATTR_IDX_ID
See Also:
Constant Field Values

_XML_ATTR_IDX_UNIQUE

public static final java.lang.String _XML_ATTR_IDX_UNIQUE
See Also:
Constant Field Values

_XML_ATTR_IDX_SEQUENCE

public static final java.lang.String _XML_ATTR_IDX_SEQUENCE
See Also:
Constant Field Values

_XML_ATTR_IDX_ORDER

public static final java.lang.String _XML_ATTR_IDX_ORDER
See Also:
Constant Field Values

_XML_ATTR_AUTOINCR

public static final java.lang.String _XML_ATTR_AUTOINCR
See Also:
Constant Field Values

MAX_LENGTH_COLUMN_NAME

public static final int MAX_LENGTH_COLUMN_NAME
See Also:
Constant Field Values

SQL_DATATYPE_INT

public static final java.lang.String SQL_DATATYPE_INT
SQL representation of integer datatype.

See Also:
Constant Field Values

SQL_DATATYPE_FLOAT

public static final java.lang.String SQL_DATATYPE_FLOAT
SQL representation of float datatype.

See Also:
Constant Field Values
Constructor Detail

E4DBColumn

public E4DBColumn()

E4DBColumn

public E4DBColumn(E4DBColumnName name,
                  E4DBColumnType type,
                  int len)
           throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

getDataType_DB

public java.lang.String getDataType_DB()

isNullable

public boolean isNullable()

setNullable

public void setNullable(boolean nullable)

setColumnName

public void setColumnName(E4DBColumnName columnname)
                   throws E4DBException
Throws:
E4DBException

setColumnName

public void setColumnName(java.lang.String columnname)
                   throws E4DBException
Deprecated. 

Throws:
E4DBException

setDataType

public void setDataType(E4DBColumnType datatype)
                 throws E4DBException
Throws:
E4DBException

setDataType

public void setDataType(E4DBColumnType datatype,
                        boolean validate)
                 throws E4DBException
Throws:
E4DBException

getIndexSequence

public int getIndexSequence(int idx_num)
There is an array [0..MAXINDEX - 1] at each column that defines, if this column is part of this particular index. Index is numbered 0 to MAXINDEX - 1.

Parameters:
idx_num - the number of the index to look at
Returns:
true, if this column is part of this index. false otherwise, or if the parameter is out of range.
See Also:
E4DBTable.isIndexDefined(int), #setIndex(int), E4DBTable.MAXINDEX

setIndex

public void setIndex(int idx_num,
                     int sequence)
Include the column into the specified index. There is an array [0..MAXINDEX - 1] at each column that defines, if this column is part of this particular index. Index is numbered 0 to MAXINDEX - 1.

Parameters:
idx_num - the number of the index to be set
See Also:
getIndexSequence(int), resetIndex(int), E4DBTable.MAXINDEX

resetIndex

public void resetIndex(int idx_num)
Exclude the column from the specified index. There is an array [0..MAXINDEX - 1] at each column that defines, if this column is part of this particular index. Index is numbered 0 to MAXINDEX - 1.

Parameters:
idx_num - the number of the index to be cleared
See Also:
getIndexSequence(int), resetIndex(), #setIndex(int), E4DBTable.resetIndex(int), E4DBTable.MAXINDEX

resetIndex

public void resetIndex()
Exclude this column from all the indexes. There is an array [0..MAXINDEX - 1] at each column that defines, if this column is part of this particular index. Index is numbered 0 to MAXINDEX - 1.

See Also:
getIndexSequence(int), resetIndex(int), #setIndex(int), E4DBTable.resetIndex(int), E4DBTable.MAXINDEX

toXml

public void toXml(E4PrintStream pstr)
           throws java.lang.Exception
Throws:
java.lang.Exception

isDeleted

public boolean isDeleted()

toString

public java.lang.String toString()
Overrides:
toString in class E4DBColumnInfo

generateRemark

protected java.lang.String generateRemark(E4DBTable_Intf table,
                                          boolean branch_index)

generateRemark

protected java.lang.String generateRemark(E4DBTable_Intf table,
                                          java.lang.String txt)

generateRemark

protected java.lang.String generateRemark(java.lang.String txt)

generateRemark

protected java.lang.String generateRemark(java.lang.String txt,
                                          java.lang.String additional,
                                          boolean branch_index)

generateRemark

protected java.lang.String generateRemark(E4DBTable_Intf table,
                                          java.lang.String txt,
                                          java.lang.String additional,
                                          boolean branch_index)

generateRemark

public static java.lang.String generateRemark(E4DBTable_Intf table,
                                              E4DBColumnInfo column,
                                              java.lang.String txt,
                                              java.lang.String additional,
                                              boolean index_branch)

DEBUG

public void DEBUG()

addReference

public void addReference(E4DBTableName table,
                         E4DBColumnName column,
                         int status)
                  throws java.lang.Exception
Throws:
java.lang.Exception

getReferenceVec

public E4DBReferenceVec getReferenceVec()

hasReference

public int hasReference(E4DBTableName table,
                        E4DBColumnName column)

compareTo

public int compareTo(java.lang.Object o)
Compare two column names.

Specified by:
compareTo in interface java.lang.Comparable
Overrides:
compareTo in class E4DBColumnInfo
Parameters:
o - an object of class E4DBColumn
Returns:
the compare result

getDatatype_Java

public java.lang.String getDatatype_Java()
                                  throws java.lang.Exception
Return the datatype as it would be instanciated in Java language. Useful for generation purpouses only.

Throws:
java.lang.Exception

equals

public boolean equals(E4DBColumnName cName)

formatColumnType

public static java.lang.String formatColumnType(E4DBColumnType db_coltype,
                                                int len)

formatColumnType

public java.lang.String formatColumnType()

renameType

public boolean renameType(E4DBColumnType oldname,
                          E4DBColumnType newname)

getSqlDataType

public java.lang.String getSqlDataType(E4DBConnection_Intf con,
                                       E4DBTypes types)
                                throws E4DBException
Throws:
E4DBException

getSqlDataType

public static java.lang.String getSqlDataType(E4DBType type,
                                              java.lang.String nvarchar,
                                              java.lang.String ntext)
                                       throws E4DBException
Throws:
E4DBException

getSqlDataType

public static java.lang.String getSqlDataType(E4DBColumnType columntype,
                                              int len,
                                              java.lang.String nvarchar,
                                              java.lang.String ntext)

hasChanged

public boolean hasChanged()

resetChanged

public void resetChanged()

resetDataTypeDB

public void resetDataTypeDB()

setDatatypeDB

public void setDatatypeDB(java.lang.String columnType,
                          int len)

setDeleted

public void setDeleted()

is_E4

public boolean is_E4()
Check, if this type is an E4S defined datatype.

Returns:
true, if either E4DBColumnInfo.is_E4Date(), E4DBColumnInfo.is_E4String(), E4DBColumnInfo.is_E4StringImage() or E4DBColumnInfo.is_E4Long().

_getSVNVersionString

public static java.lang.String _getSVNVersionString()
Get version info string from subversion.

Returns:
the version info string.
See Also:
E4Util.getRevisionCodeFromSVN(Class)

www.element4solution.com