Facet catalogue

Table of Contents

Consumed directly by generator.py via _load_profiles_from_org(). This file is the authoritative source; there is no intermediate JSON. See the ORE Studio Variability Model for the theory (Profile Metamodel, model-types scope filter, activation semantics); this file is the authoritative data, not the prose.

Facets

sql   facet

Template Output Model types
sql_schema_domain_entity_create.mustache projects/ores.sql/create/{component}/{component}_{entity_plural}_create.sql domain_entity
sql_schema_notify_trigger.mustache projects/ores.sql/create/{component}/{component}_{entity_plural}_notify_trigger_create.sql domain_entity
sql_schema_domain_entity_drop.mustache projects/ores.sql/drop/{component}/{component}_{entity_plural}_drop.sql domain_entity
sql_schema_notify_trigger_drop.mustache projects/ores.sql/drop/{component}/{component}_{entity_plural}_notify_trigger_drop.sql domain_entity
sql_schema_junction_create.mustache projects/ores.sql/create/{component}/{component}_{entity}_create.sql junction
sql_schema_table_create.mustache projects/ores.sql/create/{component}/{component}_{entity_plural}_create.sql schema
sql_schema_create.mustache projects/ores.sql/create/{component}/{component}_{entity_plural}_create.sql table

domain   facet

Template Output
cpp_domain_type_class.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}.hpp
cpp_domain_type_json_io.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}_json_io.hpp
cpp_domain_type_json_io.cpp.mustache projects/{component_dir}/src/domain/{entity}_json_io.cpp
cpp_domain_type_table.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}_table.hpp
cpp_domain_type_table.cpp.mustache projects/{component_dir}/src/domain/{entity}_table.cpp
cpp_domain_type_table_io.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}_table_io.hpp
cpp_domain_type_table_io.cpp.mustache projects/{component_dir}/src/domain/{entity}_table_io.cpp

generator   facet

Template Output
cpp_domain_type_generator.hpp.mustache projects/{component_dir}/include/ores.{component_include}/{generator_facet_name}/{entity}_generator.hpp
cpp_domain_type_generator.cpp.mustache projects/{component_dir}/src/{generator_facet_name}/{entity}_generator.cpp

repository   facet

Template Output
cpp_domain_type_entity.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_entity.hpp
cpp_domain_type_entity.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_entity.cpp
cpp_domain_type_mapper.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_mapper.hpp
cpp_domain_type_mapper.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_mapper.cpp
cpp_domain_type_repository.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_repository.hpp
cpp_domain_type_repository.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_repository.cpp

service   facet

Template Output
cpp_service.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/service/{entity}_service.hpp
cpp_service.cpp.mustache projects/{component_core_dir}/src/service/{entity}_service.cpp

protocol   facet

Template Output
cpp_protocol.hpp.mustache projects/{component_dir}/include/ores.{component_include}/messaging/{entity}_protocol.hpp

nats-eventing   facet

Template Output
cpp_nats_changed_event.hpp.mustache projects/{component_dir}/include/ores.{component_include}/eventing/{entity}_changed_event.hpp

nats-handler   facet

Template Output
cpp_nats_handler.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/messaging/{entity}_handler.hpp

qt   facet

Template Output
cpp_qt_client_model.hpp.mustache projects/ores.qt/{component}/include/ores.qt/Client{EntityPascal}Model.hpp
cpp_qt_client_model.cpp.mustache projects/ores.qt/{component}/src/Client{EntityPascal}Model.cpp
cpp_qt_mdi_window.hpp.mustache projects/ores.qt/{component}/include/ores.qt/{EntityPascal}MdiWindow.hpp
cpp_qt_mdi_window.cpp.mustache projects/ores.qt/{component}/src/{EntityPascal}MdiWindow.cpp
cpp_qt_detail_dialog.hpp.mustache projects/ores.qt/{component}/include/ores.qt/{EntityPascal}DetailDialog.hpp
cpp_qt_detail_dialog.cpp.mustache projects/ores.qt/{component}/src/{EntityPascal}DetailDialog.cpp
cpp_qt_history_dialog.hpp.mustache projects/ores.qt/{component}/include/ores.qt/{EntityPascal}HistoryDialog.hpp
cpp_qt_history_dialog.cpp.mustache projects/ores.qt/{component}/src/{EntityPascal}HistoryDialog.cpp
cpp_qt_controller.hpp.mustache projects/ores.qt/{component}/include/ores.qt/{EntityPascal}Controller.hpp
cpp_qt_controller.cpp.mustache projects/ores.qt/{component}/src/{EntityPascal}Controller.cpp
qt_detail_dialog_ui.mustache projects/ores.qt/{component}/ui/{EntityPascal}DetailDialog.ui
qt_history_dialog_ui.mustache projects/ores.qt/{component}/ui/{EntityPascal}HistoryDialog.ui

plantuml   facet

Template Output
plantuml_er.mustache output/{entity}_er.puml

enum   facet

Template Output
cpp_enum.hpp.mustache projects/{component_dir}/include/ores.{component_include}/messaging/{enum_name}.hpp

field-group   facet

Template Output
cpp_field_group.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}.hpp

non-temporal-sql   facet

Template Output Model types
sql_schema_non_temporal_create.mustache projects/ores.sql/create/{component}/{component}_{entity_plural}_create.sql domain_entity

non-temporal-domain   facet

Template Output
cpp_domain_type_class_non_temporal.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}.hpp
cpp_domain_type_json_io.hpp.mustache projects/{component_dir}/include/ores.{component_include}/domain/{entity}_json_io.hpp
cpp_domain_type_json_io.cpp.mustache projects/{component_dir}/src/domain/{entity}_json_io.cpp

non-temporal-repository   facet

Template Output
cpp_domain_type_entity_non_temporal.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_entity.hpp
cpp_domain_type_entity_non_temporal.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_entity.cpp
cpp_domain_type_mapper_non_temporal.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_mapper.hpp
cpp_domain_type_mapper_non_temporal.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_mapper.cpp
cpp_domain_type_repository_non_temporal.hpp.mustache projects/{component_core_dir}/include/ores.{component_core}/repository/{entity}_repository.hpp
cpp_domain_type_repository_non_temporal.cpp.mustache projects/{component_core_dir}/src/repository/{entity}_repository.cpp

Facet groups

all-cpp   facet_group

all   facet_group

non-temporal   facet_group

Component archetypes

component   component_archetype

Template Output
cmake_component_root.mustache projects/{component_full}/CMakeLists.txt
cmake_component_src.mustache projects/{component_full}/src/CMakeLists.txt
cmake_component_tests.mustache projects/{component_full}/tests/CMakeLists.txt
cmake_component_modeling.mustache projects/{component_full}/modeling/CMakeLists.txt
cpp_export.hpp.mustache projects/{component_full}/include/{component_full}/export.hpp
cpp_component_header.hpp.mustache projects/{component_full}/include/{component_full}/{component_full}.hpp
cpp_component_stub_header.hpp.mustache projects/{component_full}/include/{component_full}/domain/stub.hpp
cpp_component_stub_impl.cpp.mustache projects/{component_full}/src/domain/stub.cpp
cpp_component_test_main.cpp.mustache projects/{component_full}/tests/main.cpp
cpp_component_stub_test.cpp.mustache projects/{component_full}/tests/stub_tests.cpp

component-api   component_archetype

Template Output
cmake_component_root.mustache projects/{component_full}/CMakeLists.txt
cmake_component_api_src.mustache projects/{component_full}/src/CMakeLists.txt
cmake_component_tests.mustache projects/{component_full}/tests/CMakeLists.txt
cmake_component_modeling.mustache projects/{component_full}/modeling/CMakeLists.txt
cpp_export.hpp.mustache projects/{component_full}/include/{component_full}/export.hpp
cpp_component_header.hpp.mustache projects/{component_full}/include/{component_full}/{component_full}.hpp
cpp_component_stub_header.hpp.mustache projects/{component_full}/include/{component_full}/domain/stub.hpp
cpp_component_stub_impl.cpp.mustache projects/{component_full}/src/domain/stub.cpp
cpp_component_test_main.cpp.mustache projects/{component_full}/tests/main.cpp
cpp_component_stub_test.cpp.mustache projects/{component_full}/tests/stub_tests.cpp

component-core   component_archetype

Template Output
cmake_component_root.mustache projects/{component_full}/CMakeLists.txt
cmake_component_core_src.mustache projects/{component_full}/src/CMakeLists.txt
cmake_component_tests.mustache projects/{component_full}/tests/CMakeLists.txt
cmake_component_modeling.mustache projects/{component_full}/modeling/CMakeLists.txt
cpp_export.hpp.mustache projects/{component_full}/include/{component_full}/export.hpp
cpp_component_header.hpp.mustache projects/{component_full}/include/{component_full}/{component_full}.hpp
cpp_component_stub_header.hpp.mustache projects/{component_full}/include/{component_full}/domain/stub.hpp
cpp_component_stub_impl.cpp.mustache projects/{component_full}/src/domain/stub.cpp
cpp_component_test_main.cpp.mustache projects/{component_full}/tests/main.cpp
cpp_component_stub_test.cpp.mustache projects/{component_full}/tests/stub_tests.cpp

component-service   component_archetype

Template Output
cmake_component_root.mustache projects/{component_full}/CMakeLists.txt
cmake_component_service_src.mustache projects/{component_full}/src/CMakeLists.txt
cmake_component_tests.mustache projects/{component_full}/tests/CMakeLists.txt
cmake_component_modeling.mustache projects/{component_full}/modeling/CMakeLists.txt
cpp_export.hpp.mustache projects/{component_full}/include/{component_full}/export.hpp
cpp_component_header.hpp.mustache projects/{component_full}/include/{component_full}/{component_full}.hpp
cpp_service_app_application_exception.hpp.mustache projects/{component_full}/include/{component_full}/app/application_exception.hpp
cpp_service_app_application.hpp.mustache projects/{component_full}/include/{component_full}/app/application.hpp
cpp_service_app_host.hpp.mustache projects/{component_full}/include/{component_full}/app/host.hpp
cpp_service_config_options.hpp.mustache projects/{component_full}/include/{component_full}/config/options.hpp
cpp_service_config_parser.hpp.mustache projects/{component_full}/include/{component_full}/config/parser.hpp
cpp_service_config_parser_exception.hpp.mustache projects/{component_full}/include/{component_full}/config/parser_exception.hpp
cpp_service_app_application.cpp.mustache projects/{component_full}/src/app/application.cpp
cpp_service_app_host.cpp.mustache projects/{component_full}/src/app/host.cpp
cpp_service_config_options.cpp.mustache projects/{component_full}/src/config/options.cpp
cpp_service_config_parser.cpp.mustache projects/{component_full}/src/config/parser.cpp
cpp_service_main.cpp.mustache projects/{component_full}/src/main.cpp
cpp_component_test_main.cpp.mustache projects/{component_full}/tests/main.cpp
cpp_service_stub_test.cpp.mustache projects/{component_full}/tests/stub_tests.cpp

service-registry   component_archetype

Template Output
shell_service_vars.mustache projects/ores.sql/service_vars.sh
sql_service_users_create.mustache projects/ores.sql/create/iam/service_users_create.sql
sql_service_db_grants.mustache projects/ores.sql/create/iam/iam_service_db_grants_create.sql
sql_service_accounts_populate.mustache projects/ores.sql/populate/iam/iam_service_accounts_populate.sql
sql_service_account_roles_populate.mustache projects/ores.sql/populate/iam/iam_service_account_roles_populate.sql

Emacs 29.1 (Org mode 9.6.6)