Facet catalogue
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 |
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)