OpenM++ runtime library (libopenm)
openm::IModelBuilder Struct Referenceabstract

public interface to build model creation script from metadata rows. More...

#include <modelBuilder.h>

Inheritance diagram for openm::IModelBuilder:

Public Member Functions

virtual bool isSqliteDb (void) const =0
 if true then create SQLite database More...
 
virtual void setModelMetaRows (MetaModelHolder &io_metaRows) const =0
 set meta rows values and calculate digests for types, parameters, tables and model More...
 
virtual void build (MetaModelHolder &io_metaRows)=0
 update metadata and write sql script to create new model from supplied metadata rows More...
 
virtual void beginWorkset (const MetaModelHolder &i_metaRows, MetaSetLangHolder &io_metaSet)=0
 start sql script to create new working set More...
 
virtual void addWorksetParameter (const MetaModelHolder &i_metaRows, const MetaSetLangHolder &i_metaSet, const string &i_name, int i_subId, const string &i_value)=0
 append scalar parameter value to sql script for new working set creation More...
 
virtual void addWorksetParameter (const MetaModelHolder &i_metaRows, const MetaSetLangHolder &i_metaSet, const string &i_name, int i_subId, const list< string > &i_valueLst)=0
 append parameter values to sql script for new working set creation More...
 
virtual void endWorkset (const MetaModelHolder &i_metaRows, const MetaSetLangHolder &i_metaSet)=0
 finish sql script to create new working set More...
 
virtual void buildCompatibilityViews (const MetaModelHolder &i_metaRows) const =0
 write sql script to create backward compatibility views More...
 

Static Public Member Functions

static IModelBuildercreate (const string &i_providerNames, const string &i_sqlDir, const string &i_outputDir, const string &i_sqliteDir)
 new model builder to create sql script specific to each db-provider.
 

Detailed Description

public interface to build model creation script from metadata rows.

Member Function Documentation

◆ addWorksetParameter() [1/2]

virtual void openm::IModelBuilder::addWorksetParameter ( const MetaModelHolder i_metaRows,
const MetaSetLangHolder i_metaSet,
const string &  i_name,
int  i_subId,
const list< string > &  i_valueLst 
)
pure virtual

append parameter values to sql script for new working set creation

Implemented in openm::ModelSqlBuilder.

◆ addWorksetParameter() [2/2]

virtual void openm::IModelBuilder::addWorksetParameter ( const MetaModelHolder i_metaRows,
const MetaSetLangHolder i_metaSet,
const string &  i_name,
int  i_subId,
const string &  i_value 
)
pure virtual

append scalar parameter value to sql script for new working set creation

Implemented in openm::ModelSqlBuilder.

◆ beginWorkset()

virtual void openm::IModelBuilder::beginWorkset ( const MetaModelHolder i_metaRows,
MetaSetLangHolder io_metaSet 
)
pure virtual

start sql script to create new working set

Implemented in openm::ModelSqlBuilder.

◆ build()

virtual void openm::IModelBuilder::build ( MetaModelHolder io_metaRows)
pure virtual

update metadata and write sql script to create new model from supplied metadata rows

Implemented in openm::ModelSqlBuilder.

◆ buildCompatibilityViews()

virtual void openm::IModelBuilder::buildCompatibilityViews ( const MetaModelHolder i_metaRows) const
pure virtual

write sql script to create backward compatibility views

Implemented in openm::ModelSqlBuilder.

◆ endWorkset()

virtual void openm::IModelBuilder::endWorkset ( const MetaModelHolder i_metaRows,
const MetaSetLangHolder i_metaSet 
)
pure virtual

finish sql script to create new working set

Implemented in openm::ModelSqlBuilder.

◆ isSqliteDb()

virtual bool openm::IModelBuilder::isSqliteDb ( void  ) const
pure virtual

if true then create SQLite database

Implemented in openm::ModelSqlBuilder.

◆ setModelMetaRows()

virtual void openm::IModelBuilder::setModelMetaRows ( MetaModelHolder io_metaRows) const
pure virtual

set meta rows values and calculate digests for types, parameters, tables and model

Implemented in openm::ModelSqlBuilder.


The documentation for this struct was generated from the following files: