org.apache.ibatis.abator.internal.db
Class ColumnDefinition

java.lang.Object
  extended by org.apache.ibatis.abator.internal.db.ColumnDefinition

public class ColumnDefinition
extends java.lang.Object

This class holds information about an introspected column. The class has utility methods useful for generating iBATIS objects.

Author:
Jeff Butler

Constructor Summary
ColumnDefinition(java.lang.String tableAlias, AbatorContext abatorContext)
          Constructs a Column definition.
 
Method Summary
 java.lang.String getActualColumnName()
           
 java.lang.String getAliasedActualColumnName()
          The aliased column name for a select statement generated by the example clauses.
 java.lang.String getAliasedEscapedColumnName()
          Calculates the string to use in select phrases in SqlMaps.
 java.lang.String getByExampleIndicatorProperty()
           
 java.lang.String getEscapedColumnName()
           
 java.lang.String getIbatisFormattedParameterClause()
           
 java.lang.String getIbatisFormattedParameterClause(java.lang.String prefix)
           
 java.lang.String getJavaProperty()
           
 java.lang.String getJavaProperty(java.lang.String prefix)
           
 int getJdbcType()
           
 int getLength()
           
 java.lang.String getRenamedColumnNameForResultMap()
          The renamed column name for a select statement.
 ResolvedJavaType getResolvedJavaType()
           
 int getScale()
           
 java.lang.String getSelectListPhrase()
          The phrase to use in a select list.
 java.lang.String getTypeHandler()
           
 java.lang.String getTypeName()
           
 boolean isBLOBColumn()
           
 boolean isColumnNameDelimited()
           
 boolean isIdentity()
           
 boolean isJdbcCharacterColumn()
           
 boolean isJDBCDateColumn()
           
 boolean isJDBCTimeColumn()
           
 boolean isNullable()
           
 boolean isStringColumn()
           
 void setActualColumnName(java.lang.String actualColumnName)
           
 void setColumnNameDelimited(boolean isColumnNameDelimited)
           
 void setIdentity(boolean identity)
           
 void setJavaProperty(java.lang.String javaProperty)
           
 void setJdbcType(int jdbcType)
           
 void setLength(int length)
           
 void setNullable(boolean nullable)
           
 void setResolvedJavaType(ResolvedJavaType resolvedJavaType)
           
 void setScale(int scale)
           
 void setTypeHandler(java.lang.String typeHandler)
           
 void setTypeName(java.lang.String typeName)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ColumnDefinition

public ColumnDefinition(java.lang.String tableAlias,
                        AbatorContext abatorContext)
Constructs a Column definition. This object holds all the information about a column that is required to generate Java objects and SQL maps;

Parameters:
tableAlias - The specified table alias, or null. This value is used to rename and alias column names for select statements
Method Detail

getJdbcType

public int getJdbcType()

setJdbcType

public void setJdbcType(int jdbcType)

getLength

public int getLength()

setLength

public void setLength(int length)

isNullable

public boolean isNullable()

setNullable

public void setNullable(boolean nullable)

getScale

public int getScale()

setScale

public void setScale(int scale)

getTypeName

public java.lang.String getTypeName()

setTypeName

public void setTypeName(java.lang.String typeName)

toString

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

setActualColumnName

public void setActualColumnName(java.lang.String actualColumnName)

isIdentity

public boolean isIdentity()
Returns:
Returns the identity.

setIdentity

public void setIdentity(boolean identity)
Parameters:
identity - The identity to set.

isBLOBColumn

public boolean isBLOBColumn()

isStringColumn

public boolean isStringColumn()

isJdbcCharacterColumn

public boolean isJdbcCharacterColumn()

getJavaProperty

public java.lang.String getJavaProperty()

getJavaProperty

public java.lang.String getJavaProperty(java.lang.String prefix)

setJavaProperty

public void setJavaProperty(java.lang.String javaProperty)

getResolvedJavaType

public ResolvedJavaType getResolvedJavaType()

setResolvedJavaType

public void setResolvedJavaType(ResolvedJavaType resolvedJavaType)

getByExampleIndicatorProperty

public java.lang.String getByExampleIndicatorProperty()

getRenamedColumnNameForResultMap

public java.lang.String getRenamedColumnNameForResultMap()
The renamed column name for a select statement. If there is a table alias, the value will be alias_columnName. This is appropriate for use in a result map.

Returns:

getSelectListPhrase

public java.lang.String getSelectListPhrase()
The phrase to use in a select list. If there is a table alias, the value will be "alias.columnName as alias_columnName"

Returns:
the proper phrase

isJDBCDateColumn

public boolean isJDBCDateColumn()

isJDBCTimeColumn

public boolean isJDBCTimeColumn()

getIbatisFormattedParameterClause

public java.lang.String getIbatisFormattedParameterClause()

getIbatisFormattedParameterClause

public java.lang.String getIbatisFormattedParameterClause(java.lang.String prefix)

getTypeHandler

public java.lang.String getTypeHandler()

setTypeHandler

public void setTypeHandler(java.lang.String typeHandler)

getActualColumnName

public java.lang.String getActualColumnName()

getEscapedColumnName

public java.lang.String getEscapedColumnName()

getAliasedActualColumnName

public java.lang.String getAliasedActualColumnName()
The aliased column name for a select statement generated by the example clauses. This is not appropriate for selects in SqlMaps because the column is not escaped for iBATIS. If there is a table alias, the value will be alias.columnName. This method is used in the Example classes and the returned value will be in a Java string. So we need to escape double quotes if they are the delimiters.

Returns:

getAliasedEscapedColumnName

public java.lang.String getAliasedEscapedColumnName()
Calculates the string to use in select phrases in SqlMaps.

Returns:

setColumnNameDelimited

public void setColumnNameDelimited(boolean isColumnNameDelimited)

isColumnNameDelimited

public boolean isColumnNameDelimited()