org.hibernate.cfg
Class Ejb3Column

java.lang.Object
  extended by org.hibernate.cfg.Ejb3Column
Direct Known Subclasses:
Ejb3DiscriminatorColumn, Ejb3JoinColumn, IndexColumn

public class Ejb3Column
extends Object

Wrap state of an EJB3 @Column annotation and build the Hibernate column mapping element

Author:
Emmanuel Bernard

Field Summary
static int DEFAULT_COLUMN_LENGTH
           
protected  Map<String,org.hibernate.mapping.Join> joins
           
protected  PropertyHolder propertyHolder
           
 String sqlType
           
 
Constructor Summary
Ejb3Column()
           
 
Method Summary
protected  void addColumnBinding(org.hibernate.mapping.SimpleValue value)
           
 void addIndex(Index index, boolean inSecondPass)
           
 void bind()
           
static Ejb3Column[] buildColumnFromAnnotation(javax.persistence.Column[] anns, Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String,org.hibernate.mapping.Join> secondaryTables, ExtendedMappings mappings)
           
static void checkPropertyConsistency(Ejb3Column[] columns, String propertyName)
           
 void forceNotNull()
           
 String getFormulaString()
           
 org.hibernate.mapping.Join getJoin()
           
 int getLength()
           
 String getLogicalColumnName()
           
 org.hibernate.mapping.Column getMappingColumn()
           
protected  ExtendedMappings getMappings()
           
 String getName()
           
 int getPrecision()
           
 PropertyHolder getPropertyHolder()
           
 String getPropertyName()
           
 int getScale()
           
 String getSecondaryTableName()
           
 String getSqlType()
           
 org.hibernate.mapping.Table getTable()
          Find appropriate table of the column.
protected  void initMappingColumn(String columnName, String propertyName, int length, int precision, int scale, boolean nullable, String sqlType, boolean unique, boolean applyNamingStrategy)
           
 boolean isImplicit()
           
 boolean isInsertable()
           
 boolean isNameDeferred()
           
 boolean isNullable()
           
 boolean isSecondary()
           
 boolean isUnique()
           
 boolean isUpdatable()
           
 void linkWithValue(org.hibernate.mapping.SimpleValue value)
           
 void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)
           
 void setFormula(String formula)
           
 void setImplicit(boolean implicit)
           
 void setInsertable(boolean insertable)
           
 void setJoins(Map<String,org.hibernate.mapping.Join> joins)
           
 void setLength(int length)
           
 void setLogicalColumnName(String logicalColumnName)
           
protected  void setMappingColumn(org.hibernate.mapping.Column mappingColumn)
           
 void setMappings(ExtendedMappings mappings)
           
 void setNullable(boolean nullable)
           
 void setPrecision(int precision)
           
 void setPropertyHolder(PropertyHolder propertyHolder)
           
 void setPropertyName(String propertyName)
           
 void setScale(int scale)
           
 void setSecondaryTableName(String secondaryTableName)
           
 void setSqlType(String sqlType)
           
 void setTable(org.hibernate.mapping.Table table)
           
 void setUnique(boolean unique)
           
 void setUpdatable(boolean updatable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

joins

protected Map<String,org.hibernate.mapping.Join> joins

propertyHolder

protected PropertyHolder propertyHolder

DEFAULT_COLUMN_LENGTH

public static final int DEFAULT_COLUMN_LENGTH
See Also:
Constant Field Values

sqlType

public String sqlType
Constructor Detail

Ejb3Column

public Ejb3Column()
Method Detail

setTable

public void setTable(org.hibernate.mapping.Table table)

getLogicalColumnName

public String getLogicalColumnName()

getSqlType

public String getSqlType()

getLength

public int getLength()

getPrecision

public int getPrecision()

getScale

public int getScale()

isUnique

public boolean isUnique()

getFormulaString

public String getFormulaString()

getSecondaryTableName

public String getSecondaryTableName()

setFormula

public void setFormula(String formula)

isImplicit

public boolean isImplicit()

setInsertable

public void setInsertable(boolean insertable)

setUpdatable

public void setUpdatable(boolean updatable)

getMappings

protected ExtendedMappings getMappings()

setMappings

public void setMappings(ExtendedMappings mappings)

setImplicit

public void setImplicit(boolean implicit)

setSqlType

public void setSqlType(String sqlType)

setLength

public void setLength(int length)

setPrecision

public void setPrecision(int precision)

setScale

public void setScale(int scale)

setLogicalColumnName

public void setLogicalColumnName(String logicalColumnName)

setPropertyName

public void setPropertyName(String propertyName)

getPropertyName

public String getPropertyName()

setUnique

public void setUnique(boolean unique)

isNullable

public boolean isNullable()

bind

public void bind()

initMappingColumn

protected void initMappingColumn(String columnName,
                                 String propertyName,
                                 int length,
                                 int precision,
                                 int scale,
                                 boolean nullable,
                                 String sqlType,
                                 boolean unique,
                                 boolean applyNamingStrategy)

isNameDeferred

public boolean isNameDeferred()

redefineColumnName

public void redefineColumnName(String columnName,
                               String propertyName,
                               boolean applyNamingStrategy)

getName

public String getName()

getMappingColumn

public org.hibernate.mapping.Column getMappingColumn()

isInsertable

public boolean isInsertable()

isUpdatable

public boolean isUpdatable()

setNullable

public void setNullable(boolean nullable)

setJoins

public void setJoins(Map<String,org.hibernate.mapping.Join> joins)

getPropertyHolder

public PropertyHolder getPropertyHolder()

setPropertyHolder

public void setPropertyHolder(PropertyHolder propertyHolder)

setMappingColumn

protected void setMappingColumn(org.hibernate.mapping.Column mappingColumn)

linkWithValue

public void linkWithValue(org.hibernate.mapping.SimpleValue value)

addColumnBinding

protected void addColumnBinding(org.hibernate.mapping.SimpleValue value)

getTable

public org.hibernate.mapping.Table getTable()
Find appropriate table of the column. It can come from a secondary table or from the main table of the persistent class

Returns:
appropriate table
Throws:
AnnotationException - missing secondary table

isSecondary

public boolean isSecondary()

getJoin

public org.hibernate.mapping.Join getJoin()

forceNotNull

public void forceNotNull()

setSecondaryTableName

public void setSecondaryTableName(String secondaryTableName)

buildColumnFromAnnotation

public static Ejb3Column[] buildColumnFromAnnotation(javax.persistence.Column[] anns,
                                                     Formula formulaAnn,
                                                     Nullability nullability,
                                                     PropertyHolder propertyHolder,
                                                     PropertyData inferredData,
                                                     Map<String,org.hibernate.mapping.Join> secondaryTables,
                                                     ExtendedMappings mappings)

checkPropertyConsistency

public static void checkPropertyConsistency(Ejb3Column[] columns,
                                            String propertyName)

addIndex

public void addIndex(Index index,
                     boolean inSecondPass)