Project Modules
This project has declared the following modules:
| Name | Description |
|---|---|
| Core Commons Configurator | This is a configuration management library, offering unified access to configuration properties from system properties, environment variables, .properties files, and YAML files. It supports prefix-based property resolution, flattening of hierarchical YAML into dot-separated keys, and typed property retrieval (String, int, long, boolean). The library is extensible via the Configurator interface and the AbstractFileConfigurator abstract class, enabling custom configuration sources and file format support. It uses SnakeYAML for YAML parsing and is distributed under the Apache License 2.0. Suitable for Java applications requiring flexible, pluggable configuration loading and resolution. |
| Core Model Customization | core components work with core entities. Adapters and interactors know only base models. To customize a client project, you should extend base models and other related components. For a universal approach, you can use predefined model customization tools following the dependency direction rule. |
| Spring Commons | The Spring Commons module, part of the Macha Core framework, provides reusable components for Spring-based applications, including support for transactional outbox patterns, Kafka integration, and centralized configuration management. |
| Utils | The Utils module provides a collection of reusable utility classes and helper functions designed to streamline common tasks across the core. It includes various tools for string manipulation, date and time handling, validation, and other general-purpose operations. This module aims to reduce redundancy, enhance productivity, and promote consistency within the framework. |
Macha