Class AbstractTableBuilder<T extends AbstractTableBuilder<T>>

java.lang.Object
de.calamanari.adl.sql.config.AbstractTableBuilder<T>
Type Parameters:
T - concrete builder, selects the correct interface

public class AbstractTableBuilder<T extends AbstractTableBuilder<T>> extends Object
Implementation backing the fluent configuration builders for column and tables.

This class avoids code duplication by putting some common logic in the abstract parent class, so the same code can be reused behind different builder interfaces.

Author:
Karl Eilebrecht
  • Field Details

    • argMetaInfoLookup

      protected final de.calamanari.adl.cnv.tps.ArgMetaInfoLookup argMetaInfoLookup
      the lookup (if present) or null if this builder implicitly builds the logical data model
    • argColumnMap

      protected final Map<String,ArgColumnAssignment> argColumnMap
      mappings collected for the current table
    • tableName

      protected String tableName
      Name of the current table
    • idColumnName

      protected String idColumnName
      ID-column name for the current table
    • sparseFlag

      protected boolean sparseFlag
      setting for the current table
    • primaryTableFlag

      protected boolean primaryTableFlag
      setting for the current table
    • uniqueIdsFlag

      protected boolean uniqueIdsFlag
      setting for the current table
    • containsAllIdsFlag

      protected boolean containsAllIdsFlag
      setting for the current table
    • columnName

      protected String columnName
      The current column
    • tableFilterColumns

      protected List<FilterColumn> tableFilterColumns
      optional filters for all the columns of the current table.
    • columnType

      protected AdlSqlType columnType
      type of the current column
    • multiRowFlag

      protected boolean multiRowFlag
      setting for the current column
    • alwaysKnownFlag

      protected boolean alwaysKnownFlag
      setting for the current column
    • filterColumns

      protected List<FilterColumn> filterColumns
      optional filters for the current column
    • haveDataColumns

      protected boolean haveDataColumns
      Indicates that the column building has started, this is only to distinguish between the initial state (no pending column) and the working state
    • mappedArgName

      protected String mappedArgName
      argName mapped to the current column
    • mappedArgType

      protected de.calamanari.adl.cnv.tps.AdlType mappedArgType
      type of the arg mapped to the current column
    • autoMappingExtractor

      protected DefaultAutoMappingPolicy.LocalArgNameExtractor autoMappingExtractor
      For optional auto-mapping policy for the current column
    • autoMappingPolicyFunction

      protected Function<DataColumn,AutoMappingPolicy> autoMappingPolicyFunction
      For optional auto-mapping policy for the current column
    • autoMappingPolicies

      protected List<AutoMappingPolicy> autoMappingPolicies
      List of all the policies for the current table
  • Constructor Details

    • AbstractTableBuilder

      protected AbstractTableBuilder(de.calamanari.adl.cnv.tps.ArgMetaInfoLookup argMetaInfoLookup)
      Parameters:
      argMetaInfoLookup - optional meta model, may be null
  • Method Details