11 #ifndef lgrHlaTableFactory_H_
12 #define lgrHlaTableFactory_H_
19 #include <vlutil/vlPrint.h>
40 DtLgrHlaTableFactory(
const DtLgrHlaTableFactory&);
41 DtLgrHlaTableFactory& operator=(
const DtLgrHlaTableFactory&);
49 virtual ~DtLgrHlaTableFactory();
52 virtual void setUseShortTableNames(
bool shortNames);
55 virtual void setLog(DtOutputStream& log);
58 DtOutputStream& log();
67 std::vector<DtDatabaseTableSP>& tables ) = 0;
71 virtual void setGenerateLargeSubcomponentTables(
bool generate);
72 virtual bool generateLargeSubcomponentTables()
const;
80 virtual int largeSubcomponentThreshold()
const;
81 virtual void setLargeSubcomponentThreshold(
int threshold);
85 typedef std::set<DtString> ShortNameSet;
88 virtual void makeTableName( DtString& stringToSet,
89 const MAKLogger::DtBaseHlaValue& hlaClass,
90 const char* baseNameToRemove);
93 virtual void createColumns(
const DtString& currentType,
DtDatabaseTableSP primaryTable,
94 const DtString& currentName,
const DtString& cardinality );
97 virtual void addSimpleTypeColumn(
const DtDatatypeRep* typeRep,
99 const DtString& currentName )
const;
104 std::vector<DtDatabaseTableSP>& tables);
107 virtual void createArrayColumns(
const DtString& currentType,
111 virtual void updateTableValues(
const DtStringTree* node,
113 const DtString& parentName);
116 virtual void setColumnValue(
const DtString& columnDataType,
127 virtual DtString getSubTableName(
const DtString& primaryTableName,
128 const DtString& attributeName,
const DtString& rootName );
132 const std::vector<DtDatabaseTableSP>& tables,
const DtString& tableName);
136 virtual int numberOfSubcomponents(
const DtString& dataTypeName);
141 static void appendName( DtString &name,
const DtString& sufix );
147 bool myUseShortNames;
148 ShortNameSet myShortNames;
150 DtOutputStream myDefaultLog;
151 DtOutputStream* myLog;
154 typedef std::set<DtString> ColumnLog;
155 ColumnLog myErrorColumnLog;
156 bool myGenerateLargeSubcomponentTables;
157 int myLargeSubcomponentThreshold;