11 #ifndef lgrHlaTableFactory_H_
12 #define lgrHlaTableFactory_H_
19 #include <vlutil/vlPrint.h>
23 class DtDatatypeFedNode;
26 class DtDatatypeManager;
30 class DtVariantDatatypeNode;
35 class DtLgrVariableLengthData;
36 class DtConstLgrHlaMessage;
55 virtual void setUseShortTableNames(
bool shortNames);
58 virtual void setLog(DtOutputStream& log);
61 virtual DtOutputStream& log();
64 virtual void createAttributeColumn(
const DtDatatypeFedNode* attrDatatypeNode,
70 std::vector<DtDatabaseTableSP>& tables ) = 0;
75 std::vector<DtDatabaseTableSP>& tables) = 0;
78 virtual void setGenerateLargeSubcomponentTables(
bool generate);
80 virtual bool generateLargeSubcomponentTables()
const;
85 virtual int largeSubcomponentThreshold()
const;
89 virtual void setLargeSubcomponentThreshold(
int threshold);
96 virtual void makeTableName(
DtString& stringToSet,
98 const char* baseNameToRemove);
102 const DtString& currentName,
const DtString& cardinality,
bool isVariantTable =
false);
105 virtual void addSimpleTypeColumn(
const DtDatatypeRep* typeRep,
107 const DtString& currentName )
const;
110 virtual void createArrayTable(
const DtDatatypeFedNode* attrDatatypeNode,
114 virtual void createArrayColumns(
const DtString& arrayDataType,
118 virtual void createVariantTables(
const DtDatatypeFedNode* attrDatatypeNode,
123 virtual void updateTableValues(
const DtStringTree* node,
125 const DtString& parentName,
bool skipNode);
128 virtual void setColumnValue(
const DtString& columnDataType,
133 const DtStringTree* node,
const DtString& columnName);
146 virtual void updateTablesWithAttribute(std::vector<DtDatabaseTableSP>& tables,
149 const DtDatatypeFedNode* attributeNode);
152 virtual void updateSubTableDefaultColumns(
const DtDatabaseTable& primaryTable,
157 const std::vector<DtDatabaseTableSP>& tables,
const DtString& tableName);
161 virtual int numberOfSubcomponents(
const DtString& dataTypeName);
166 virtual bool isVariantConsistent(DtVariantDatatypeNode* variantNode,
Base Hla Value object.
Definition: baseHlaValue.h:47
int myThreshold
Definition: lgrHlaTableFactory.h:180
DtDatabaseColumn * myParentEntryIdColumn
Definition: lgrHlaTableFactory.h:192
std::set< DtString > ColumnLog
Definition: lgrHlaTableFactory.h:185
bool myUseShortNames
Definition: lgrHlaTableFactory.h:178
ShortNameSet myShortNames
Definition: lgrHlaTableFactory.h:179
DataType
Definition: databaseColumn.h:32
Definition: databaseColumn.h:26
#define DT_DLL_SQLEXPORTER
Definition: lgrSqlExporter.h:19
Definition: hlaPacket.h:75
DtDatabaseColumn * myTagColumn
Definition: lgrHlaTableFactory.h:193
int myLargeSubcomponentThreshold
Definition: lgrHlaTableFactory.h:188
bool myGenerateLargeSubcomponentTables
Definition: lgrHlaTableFactory.h:187
std::set< DtString > ShortNameSet
Definition: lgrHlaTableFactory.h:93
DtOutputStream * myLog
Definition: lgrHlaTableFactory.h:182
A table is simply a table name and a list of column entries (DtDatabaseColumn).
Definition: databaseTable.h:23
Variable length data object compile-time compatible with the RTI 1516 implementation.
Definition: lgrVariableLengthData.h:21
DtDatatypeManager * myDatatypeManager
Definition: lgrHlaTableFactory.h:177
DtOutputStream myDefaultLog
Definition: lgrHlaTableFactory.h:181
DtOMTTree * myOMTTree
Definition: lgrHlaTableFactory.h:176
ColumnLog myErrorColumnLog
Definition: lgrHlaTableFactory.h:186
DtDatabaseColumn * myUniqueIdentifierColumn
Definition: lgrHlaTableFactory.h:190
Base HLA table factory.
Definition: lgrHlaTableFactory.h:39
DtDatabaseColumn * myArrivalTimeColumn
Definition: lgrHlaTableFactory.h:191
unsigned int myMaxColumnNameLength
Definition: lgrHlaTableFactory.h:195
DtDatabaseColumn * myIndexColumn
Definition: lgrHlaTableFactory.h:183
std::shared_ptr< DtDatabaseTable > DtDatabaseTableSP
Definition: databaseTable.h:112
Contains DtDatabaseTable.