org.mybatis.generator.api
Class IntrospectedTable

java.lang.Object
  extended by org.mybatis.generator.api.IntrospectedTable
Direct Known Subclasses:
IntrospectedTableIbatis2Java2Impl, IntrospectedTableMyBatis3Impl

public abstract class IntrospectedTable
extends java.lang.Object

Base class for all code generator implementations. This class provides many of the housekeeping methods needed to implement a code generator, with only the actual code generation methods left unimplemented.

Author:
Jeff Butler

Nested Class Summary
protected static class IntrospectedTable.InternalAttribute
           
static class IntrospectedTable.TargetRuntime
           
 
Field Summary
protected  java.util.Map<java.lang.String,java.lang.Object> attributes
          Attributes may be used by plugins to capture table related state between the different plugin calls.
protected  java.util.List<IntrospectedColumn> baseColumns
           
protected  java.util.List<IntrospectedColumn> blobColumns
           
protected  Context context
           
protected  FullyQualifiedTable fullyQualifiedTable
           
protected  java.util.Map<IntrospectedTable.InternalAttribute,java.lang.String> internalAttributes
          Internal attributes are used to store commonly accessed items by all code generators
protected  java.util.List<IntrospectedColumn> primaryKeyColumns
           
protected  Rules rules
           
protected  TableConfiguration tableConfiguration
           
protected  IntrospectedTable.TargetRuntime targetRuntime
           
 
Constructor Summary
IntrospectedTable(IntrospectedTable.TargetRuntime targetRuntime)
           
 
Method Summary
 void addColumn(IntrospectedColumn introspectedColumn)
           
 void addPrimaryKeyColumn(java.lang.String columnName)
           
abstract  void calculateGenerators(java.util.List<java.lang.String> warnings, ProgressCallback progressCallback)
          This method can be used to initialize the generators before they will be called.
protected  java.lang.String calculateIbatis2SqlMapFileName()
           
protected  java.lang.String calculateIbatis2SqlMapNamespace()
           
protected  java.lang.String calculateIbatis2SqlMapPackage()
           
protected  void calculateJavaClientAttributes()
           
protected  java.lang.String calculateJavaClientImplementationPackage()
           
protected  java.lang.String calculateJavaClientInterfacePackage()
           
protected  java.lang.String calculateJavaModelPackage()
           
protected  void calculateModelAttributes()
           
protected  java.lang.String calculateMyBatis3XmlMapperFileName()
           
protected  java.lang.String calculateSqlMapAliasedFullyQualifiedRuntimeTableName()
           
protected  java.lang.String calculateSqlMapFullyQualifiedRuntimeTableName()
           
protected  void calculateXmlAttributes()
           
 java.lang.String getAliasedFullyQualifiedTableNameAtRuntime()
           
 java.util.List<IntrospectedColumn> getAllColumns()
          Returns all columns in the table (for use by the select by primary key and select by example with BLOBs methods)
 java.lang.Object getAttribute(java.lang.String name)
           
 java.lang.String getBaseColumnListId()
           
 java.util.List<IntrospectedColumn> getBaseColumns()
           
 java.lang.String getBaseRecordType()
           
 java.lang.String getBaseResultMapId()
           
 java.lang.String getBlobColumnListId()
           
 java.util.List<IntrospectedColumn> getBLOBColumns()
           
 IntrospectedColumn getColumn(java.lang.String columnName)
           
 java.lang.String getCountByExampleStatementId()
           
 java.lang.String getDAOImplementationType()
           
 java.lang.String getDAOInterfaceType()
           
 java.lang.String getDeleteByExampleStatementId()
           
 java.lang.String getDeleteByPrimaryKeyStatementId()
           
 java.lang.String getExampleType()
           
 java.lang.String getExampleWhereClauseId()
           
 FullyQualifiedTable getFullyQualifiedTable()
           
 java.lang.String getFullyQualifiedTableNameAtRuntime()
           
abstract  java.util.List<GeneratedJavaFile> getGeneratedJavaFiles()
          This method should return a list of generated Java files related to this table.
 GeneratedKey getGeneratedKey()
           
abstract  java.util.List<GeneratedXmlFile> getGeneratedXmlFiles()
          This method should return a list of generated XML files related to this table.
abstract  int getGenerationSteps()
          This method should return the number of progress messages that will be send during the generation phase.
 java.lang.String getIbatis2SqlMapFileName()
          Calculates an SQL Map file name for the table.
 java.lang.String getIbatis2SqlMapNamespace()
           
 java.lang.String getIbatis2SqlMapPackage()
          Calculates the package for the current table.
 java.lang.String getInsertSelectiveStatementId()
           
 java.lang.String getInsertStatementId()
           
 java.lang.String getMyBatis3JavaMapperType()
           
 java.lang.String getMyBatis3SqlProviderType()
           
 java.lang.String getMyBatis3UpdateByExampleWhereClauseId()
           
 java.lang.String getMyBatis3XmlMapperFileName()
           
 java.lang.String getMyBatis3XmlMapperPackage()
           
 int getNonBLOBColumnCount()
           
 java.util.List<IntrospectedColumn> getNonBLOBColumns()
          Returns all columns except BLOBs (for use by the select by example without BLOBs method)
 java.util.List<IntrospectedColumn> getNonPrimaryKeyColumns()
           
 java.util.List<IntrospectedColumn> getPrimaryKeyColumns()
          Returns the columns in the primary key.
 java.lang.String getPrimaryKeyType()
           
 java.lang.String getRecordWithBLOBsType()
           
 java.lang.String getResultMapWithBLOBsId()
           
 Rules getRules()
           
 java.lang.String getSelectByExampleQueryId()
           
 java.lang.String getSelectByExampleStatementId()
           
 java.lang.String getSelectByExampleWithBLOBsStatementId()
           
 java.lang.String getSelectByPrimaryKeyQueryId()
           
 java.lang.String getSelectByPrimaryKeyStatementId()
           
 TableConfiguration getTableConfiguration()
           
 java.lang.String getTableConfigurationProperty(java.lang.String property)
           
 IntrospectedTable.TargetRuntime getTargetRuntime()
           
 java.lang.String getUpdateByExampleSelectiveStatementId()
           
 java.lang.String getUpdateByExampleStatementId()
           
 java.lang.String getUpdateByExampleWithBLOBsStatementId()
           
 java.lang.String getUpdateByPrimaryKeySelectiveStatementId()
           
 java.lang.String getUpdateByPrimaryKeyStatementId()
           
 java.lang.String getUpdateByPrimaryKeyWithBLOBsStatementId()
           
 boolean hasAnyColumns()
           
 boolean hasBaseColumns()
           
 boolean hasBLOBColumns()
           
 boolean hasJDBCDateColumns()
          Returns true if any of the columns in the table are JDBC Dates (as opposed to timestamps).
 boolean hasJDBCTimeColumns()
          Returns true if any of the columns in the table are JDBC Times (as opposed to timestamps).
 boolean hasPrimaryKeyColumns()
           
 void initialize()
           
 boolean isConstructorBased()
           
 boolean isImmutable()
           
abstract  boolean isJava5Targeted()
          Denotes whether generated code is targeted for Java version 5.0 or higher.
 void removeAttribute(java.lang.String name)
           
abstract  boolean requiresXMLGenerator()
          Should return true if an XML generator is required for this table.
 void setAttribute(java.lang.String name, java.lang.Object value)
           
 void setBaseColumnListId(java.lang.String s)
           
 void setBaseRecordType(java.lang.String baseRecordType)
           
 void setBaseResultMapId(java.lang.String s)
           
 void setBlobColumnListId(java.lang.String s)
           
 void setContext(Context context)
           
 void setCountByExampleStatementId(java.lang.String s)
           
 void setDAOImplementationType(java.lang.String DAOImplementationType)
           
 void setDAOInterfaceType(java.lang.String DAOInterfaceType)
           
 void setDeleteByExampleStatementId(java.lang.String s)
           
 void setDeleteByPrimaryKeyStatementId(java.lang.String s)
           
 void setExampleType(java.lang.String exampleType)
           
 void setExampleWhereClauseId(java.lang.String s)
           
 void setFullyQualifiedTable(FullyQualifiedTable fullyQualifiedTable)
           
 void setIbatis2SqlMapFileName(java.lang.String sqlMapFileName)
           
 void setIbatis2SqlMapNamespace(java.lang.String sqlMapNamespace)
           
 void setIbatis2SqlMapPackage(java.lang.String sqlMapPackage)
           
 void setInsertSelectiveStatementId(java.lang.String s)
           
 void setInsertStatementId(java.lang.String s)
           
 void setMyBatis3JavaMapperType(java.lang.String mybatis3JavaMapperType)
           
 void setMyBatis3SqlProviderType(java.lang.String mybatis3SqlProviderType)
           
 void setMyBatis3UpdateByExampleWhereClauseId(java.lang.String s)
           
 void setMyBatis3XmlMapperFileName(java.lang.String mybatis3XmlMapperFileName)
           
 void setMyBatis3XmlMapperPackage(java.lang.String mybatis3XmlMapperPackage)
           
 void setPrimaryKeyType(java.lang.String primaryKeyType)
           
 void setRecordWithBLOBsType(java.lang.String recordWithBLOBsType)
           
 void setResultMapWithBLOBsId(java.lang.String s)
           
 void setRules(Rules rules)
          This method exists to give plugins the opportunity to replace the calculated rules if necessary.
 void setSelectByExampleStatementId(java.lang.String s)
           
 void setSelectByExampleWithBLOBsStatementId(java.lang.String s)
           
 void setSelectByPrimaryKeyStatementId(java.lang.String s)
           
 void setSqlMapAliasedFullyQualifiedRuntimeTableName(java.lang.String aliasedFullyQualifiedRuntimeTableName)
           
 void setSqlMapFullyQualifiedRuntimeTableName(java.lang.String fullyQualifiedRuntimeTableName)
           
 void setTableConfiguration(TableConfiguration tableConfiguration)
           
 void setUpdateByExampleSelectiveStatementId(java.lang.String s)
           
 void setUpdateByExampleStatementId(java.lang.String s)
           
 void setUpdateByExampleWithBLOBsStatementId(java.lang.String s)
           
 void setUpdateByPrimaryKeySelectiveStatementId(java.lang.String s)
           
 void setUpdateByPrimaryKeyStatementId(java.lang.String s)
           
 void setUpdateByPrimaryKeyWithBLOBsStatementId(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableConfiguration

protected TableConfiguration tableConfiguration

fullyQualifiedTable

protected FullyQualifiedTable fullyQualifiedTable

context

protected Context context

rules

protected Rules rules

primaryKeyColumns

protected java.util.List<IntrospectedColumn> primaryKeyColumns

baseColumns

protected java.util.List<IntrospectedColumn> baseColumns

blobColumns

protected java.util.List<IntrospectedColumn> blobColumns

targetRuntime

protected IntrospectedTable.TargetRuntime targetRuntime

attributes

protected java.util.Map<java.lang.String,java.lang.Object> attributes
Attributes may be used by plugins to capture table related state between the different plugin calls.


internalAttributes

protected java.util.Map<IntrospectedTable.InternalAttribute,java.lang.String> internalAttributes
Internal attributes are used to store commonly accessed items by all code generators

Constructor Detail

IntrospectedTable

public IntrospectedTable(IntrospectedTable.TargetRuntime targetRuntime)
Method Detail

getFullyQualifiedTable

public FullyQualifiedTable getFullyQualifiedTable()

getSelectByExampleQueryId

public java.lang.String getSelectByExampleQueryId()

getSelectByPrimaryKeyQueryId

public java.lang.String getSelectByPrimaryKeyQueryId()

getGeneratedKey

public GeneratedKey getGeneratedKey()

getColumn

public IntrospectedColumn getColumn(java.lang.String columnName)

hasJDBCDateColumns

public boolean hasJDBCDateColumns()
Returns true if any of the columns in the table are JDBC Dates (as opposed to timestamps).

Returns:
true if the table contains DATE columns

hasJDBCTimeColumns

public boolean hasJDBCTimeColumns()
Returns true if any of the columns in the table are JDBC Times (as opposed to timestamps).

Returns:
true if the table contains TIME columns

getPrimaryKeyColumns

public java.util.List<IntrospectedColumn> getPrimaryKeyColumns()
Returns the columns in the primary key. If the generatePrimaryKeyClass() method returns false, then these columns will be iterated as the parameters of the selectByPrimaryKay and deleteByPrimaryKey methods

Returns:
a List of ColumnDefinition objects for columns in the primary key

hasPrimaryKeyColumns

public boolean hasPrimaryKeyColumns()

getBaseColumns

public java.util.List<IntrospectedColumn> getBaseColumns()

getAllColumns

public java.util.List<IntrospectedColumn> getAllColumns()
Returns all columns in the table (for use by the select by primary key and select by example with BLOBs methods)

Returns:
a List of ColumnDefinition objects for all columns in the table

getNonBLOBColumns

public java.util.List<IntrospectedColumn> getNonBLOBColumns()
Returns all columns except BLOBs (for use by the select by example without BLOBs method)

Returns:
a List of ColumnDefinition objects for columns in the table that are non BLOBs

getNonBLOBColumnCount

public int getNonBLOBColumnCount()

getNonPrimaryKeyColumns

public java.util.List<IntrospectedColumn> getNonPrimaryKeyColumns()

getBLOBColumns

public java.util.List<IntrospectedColumn> getBLOBColumns()

hasBLOBColumns

public boolean hasBLOBColumns()

hasBaseColumns

public boolean hasBaseColumns()

getRules

public Rules getRules()

getTableConfigurationProperty

public java.lang.String getTableConfigurationProperty(java.lang.String property)

getPrimaryKeyType

public java.lang.String getPrimaryKeyType()

getBaseRecordType

public java.lang.String getBaseRecordType()
Returns:
the type for the record (the class that holds non-primary key and non-BLOB fields). Note that the value will be calculated regardless of whether the table has these columns or not.

getExampleType

public java.lang.String getExampleType()
Returns:
the type for the example class.

getRecordWithBLOBsType

public java.lang.String getRecordWithBLOBsType()
Returns:
the type for the record with BLOBs class. Note that the value will be calculated regardless of whether the table has BLOB columns or not.

getIbatis2SqlMapFileName

public java.lang.String getIbatis2SqlMapFileName()
Calculates an SQL Map file name for the table. Typically the name is "XXXX_SqlMap.xml" where XXXX is the fully qualified table name (delimited with underscores).

Returns:
the name of the SqlMap file

getIbatis2SqlMapNamespace

public java.lang.String getIbatis2SqlMapNamespace()

getIbatis2SqlMapPackage

public java.lang.String getIbatis2SqlMapPackage()
Calculates the package for the current table.

Returns:
the package for the SqlMap for the current table

getDAOImplementationType

public java.lang.String getDAOImplementationType()

getDAOInterfaceType

public java.lang.String getDAOInterfaceType()

hasAnyColumns

public boolean hasAnyColumns()

setTableConfiguration

public void setTableConfiguration(TableConfiguration tableConfiguration)

setFullyQualifiedTable

public void setFullyQualifiedTable(FullyQualifiedTable fullyQualifiedTable)

setContext

public void setContext(Context context)

addColumn

public void addColumn(IntrospectedColumn introspectedColumn)

addPrimaryKeyColumn

public void addPrimaryKeyColumn(java.lang.String columnName)

getAttribute

public java.lang.Object getAttribute(java.lang.String name)

removeAttribute

public void removeAttribute(java.lang.String name)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)

initialize

public void initialize()

calculateXmlAttributes

protected void calculateXmlAttributes()

setBlobColumnListId

public void setBlobColumnListId(java.lang.String s)

setBaseColumnListId

public void setBaseColumnListId(java.lang.String s)

setExampleWhereClauseId

public void setExampleWhereClauseId(java.lang.String s)

setMyBatis3UpdateByExampleWhereClauseId

public void setMyBatis3UpdateByExampleWhereClauseId(java.lang.String s)

setResultMapWithBLOBsId

public void setResultMapWithBLOBsId(java.lang.String s)

setBaseResultMapId

public void setBaseResultMapId(java.lang.String s)

setUpdateByPrimaryKeyWithBLOBsStatementId

public void setUpdateByPrimaryKeyWithBLOBsStatementId(java.lang.String s)

setUpdateByPrimaryKeySelectiveStatementId

public void setUpdateByPrimaryKeySelectiveStatementId(java.lang.String s)

setUpdateByPrimaryKeyStatementId

public void setUpdateByPrimaryKeyStatementId(java.lang.String s)

setUpdateByExampleWithBLOBsStatementId

public void setUpdateByExampleWithBLOBsStatementId(java.lang.String s)

setUpdateByExampleSelectiveStatementId

public void setUpdateByExampleSelectiveStatementId(java.lang.String s)

setUpdateByExampleStatementId

public void setUpdateByExampleStatementId(java.lang.String s)

setSelectByPrimaryKeyStatementId

public void setSelectByPrimaryKeyStatementId(java.lang.String s)

setSelectByExampleWithBLOBsStatementId

public void setSelectByExampleWithBLOBsStatementId(java.lang.String s)

setSelectByExampleStatementId

public void setSelectByExampleStatementId(java.lang.String s)

setInsertSelectiveStatementId

public void setInsertSelectiveStatementId(java.lang.String s)

setInsertStatementId

public void setInsertStatementId(java.lang.String s)

setDeleteByPrimaryKeyStatementId

public void setDeleteByPrimaryKeyStatementId(java.lang.String s)

setDeleteByExampleStatementId

public void setDeleteByExampleStatementId(java.lang.String s)

setCountByExampleStatementId

public void setCountByExampleStatementId(java.lang.String s)

getBlobColumnListId

public java.lang.String getBlobColumnListId()

getBaseColumnListId

public java.lang.String getBaseColumnListId()

getExampleWhereClauseId

public java.lang.String getExampleWhereClauseId()

getMyBatis3UpdateByExampleWhereClauseId

public java.lang.String getMyBatis3UpdateByExampleWhereClauseId()

getResultMapWithBLOBsId

public java.lang.String getResultMapWithBLOBsId()

getBaseResultMapId

public java.lang.String getBaseResultMapId()

getUpdateByPrimaryKeyWithBLOBsStatementId

public java.lang.String getUpdateByPrimaryKeyWithBLOBsStatementId()

getUpdateByPrimaryKeySelectiveStatementId

public java.lang.String getUpdateByPrimaryKeySelectiveStatementId()

getUpdateByPrimaryKeyStatementId

public java.lang.String getUpdateByPrimaryKeyStatementId()

getUpdateByExampleWithBLOBsStatementId

public java.lang.String getUpdateByExampleWithBLOBsStatementId()

getUpdateByExampleSelectiveStatementId

public java.lang.String getUpdateByExampleSelectiveStatementId()

getUpdateByExampleStatementId

public java.lang.String getUpdateByExampleStatementId()

getSelectByPrimaryKeyStatementId

public java.lang.String getSelectByPrimaryKeyStatementId()

getSelectByExampleWithBLOBsStatementId

public java.lang.String getSelectByExampleWithBLOBsStatementId()

getSelectByExampleStatementId

public java.lang.String getSelectByExampleStatementId()

getInsertSelectiveStatementId

public java.lang.String getInsertSelectiveStatementId()

getInsertStatementId

public java.lang.String getInsertStatementId()

getDeleteByPrimaryKeyStatementId

public java.lang.String getDeleteByPrimaryKeyStatementId()

getDeleteByExampleStatementId

public java.lang.String getDeleteByExampleStatementId()

getCountByExampleStatementId

public java.lang.String getCountByExampleStatementId()

calculateJavaClientImplementationPackage

protected java.lang.String calculateJavaClientImplementationPackage()

calculateJavaClientInterfacePackage

protected java.lang.String calculateJavaClientInterfacePackage()

calculateJavaClientAttributes

protected void calculateJavaClientAttributes()

calculateJavaModelPackage

protected java.lang.String calculateJavaModelPackage()

calculateModelAttributes

protected void calculateModelAttributes()

calculateIbatis2SqlMapPackage

protected java.lang.String calculateIbatis2SqlMapPackage()

calculateIbatis2SqlMapFileName

protected java.lang.String calculateIbatis2SqlMapFileName()

calculateMyBatis3XmlMapperFileName

protected java.lang.String calculateMyBatis3XmlMapperFileName()

calculateIbatis2SqlMapNamespace

protected java.lang.String calculateIbatis2SqlMapNamespace()

calculateSqlMapFullyQualifiedRuntimeTableName

protected java.lang.String calculateSqlMapFullyQualifiedRuntimeTableName()

calculateSqlMapAliasedFullyQualifiedRuntimeTableName

protected java.lang.String calculateSqlMapAliasedFullyQualifiedRuntimeTableName()

getFullyQualifiedTableNameAtRuntime

public java.lang.String getFullyQualifiedTableNameAtRuntime()

getAliasedFullyQualifiedTableNameAtRuntime

public java.lang.String getAliasedFullyQualifiedTableNameAtRuntime()

calculateGenerators

public abstract void calculateGenerators(java.util.List<java.lang.String> warnings,
                                         ProgressCallback progressCallback)
This method can be used to initialize the generators before they will be called. This method is called after all the setX methods, but before getNumberOfSubtasks(), getGeneratedJavaFiles, and getGeneratedXmlFiles.

Parameters:
warnings -
progressCallback -

getGeneratedJavaFiles

public abstract java.util.List<GeneratedJavaFile> getGeneratedJavaFiles()
This method should return a list of generated Java files related to this table. This list could include various types of model classes, as well as DAO classes.

Returns:
the list of generated Java files for this table

getGeneratedXmlFiles

public abstract java.util.List<GeneratedXmlFile> getGeneratedXmlFiles()
This method should return a list of generated XML files related to this table. Most implementations will only return one file - the generated SqlMap file.

Returns:
the list of generated XML files for this table

isJava5Targeted

public abstract boolean isJava5Targeted()
Denotes whether generated code is targeted for Java version 5.0 or higher.

Returns:
true if the generated code makes use of Java5 features

getGenerationSteps

public abstract int getGenerationSteps()
This method should return the number of progress messages that will be send during the generation phase.

Returns:
the number of progress messages

setRules

public void setRules(Rules rules)
This method exists to give plugins the opportunity to replace the calculated rules if necessary.

Parameters:
rules -

getTableConfiguration

public TableConfiguration getTableConfiguration()

setDAOImplementationType

public void setDAOImplementationType(java.lang.String DAOImplementationType)

setDAOInterfaceType

public void setDAOInterfaceType(java.lang.String DAOInterfaceType)

setPrimaryKeyType

public void setPrimaryKeyType(java.lang.String primaryKeyType)

setBaseRecordType

public void setBaseRecordType(java.lang.String baseRecordType)

setRecordWithBLOBsType

public void setRecordWithBLOBsType(java.lang.String recordWithBLOBsType)

setExampleType

public void setExampleType(java.lang.String exampleType)

setIbatis2SqlMapPackage

public void setIbatis2SqlMapPackage(java.lang.String sqlMapPackage)

setIbatis2SqlMapFileName

public void setIbatis2SqlMapFileName(java.lang.String sqlMapFileName)

setIbatis2SqlMapNamespace

public void setIbatis2SqlMapNamespace(java.lang.String sqlMapNamespace)

setSqlMapFullyQualifiedRuntimeTableName

public void setSqlMapFullyQualifiedRuntimeTableName(java.lang.String fullyQualifiedRuntimeTableName)

setSqlMapAliasedFullyQualifiedRuntimeTableName

public void setSqlMapAliasedFullyQualifiedRuntimeTableName(java.lang.String aliasedFullyQualifiedRuntimeTableName)

getMyBatis3XmlMapperPackage

public java.lang.String getMyBatis3XmlMapperPackage()

setMyBatis3XmlMapperPackage

public void setMyBatis3XmlMapperPackage(java.lang.String mybatis3XmlMapperPackage)

getMyBatis3XmlMapperFileName

public java.lang.String getMyBatis3XmlMapperFileName()

setMyBatis3XmlMapperFileName

public void setMyBatis3XmlMapperFileName(java.lang.String mybatis3XmlMapperFileName)

getMyBatis3JavaMapperType

public java.lang.String getMyBatis3JavaMapperType()

setMyBatis3JavaMapperType

public void setMyBatis3JavaMapperType(java.lang.String mybatis3JavaMapperType)

getMyBatis3SqlProviderType

public java.lang.String getMyBatis3SqlProviderType()

setMyBatis3SqlProviderType

public void setMyBatis3SqlProviderType(java.lang.String mybatis3SqlProviderType)

getTargetRuntime

public IntrospectedTable.TargetRuntime getTargetRuntime()

isImmutable

public boolean isImmutable()

isConstructorBased

public boolean isConstructorBased()

requiresXMLGenerator

public abstract boolean requiresXMLGenerator()
Should return true if an XML generator is required for this table. This method will be called during validation of the configuration, so it should not rely on database introspection. This method simply tells the validator if an XML configuration is normally required for this implementation.

Returns: