1. Introduction
Sometimes there is requirement to group related modules so that these can be read as a group. Else, each module needs to be read individually. That is why it is better to group related modules. We can group the related common modules in a single module, and we can read this module directly.
The module which aggregates several modules into a single module is called Aggregator module. If any module reads aggregator module then automatically all its modules are by default available to that module. If a module accesses the aggregator module, then all of its modules are inherently accessible to it by default.
The aggregator module itself does not offer any functionality; rather, it simply collects and consolidates a group of other modules.
2. Example of aggregator module
Following is an example of an aggregator module:
module aggregatorModule {
requires transitive moduleA;
requires transitive moduleB;
requires transitive moduleC;
}
The Aggregator Module doesn’t need to include any Java classes itself. Instead, it only necessitates the requires transitive
directive for all common modules.
If any module reads aggregatorModule
automatically all 3 modules are by default available to that module also.
module myModule {
requires aggregatorModule;
}
Now myModule
can use functionality of all 3 modules moduleA
, moduleB
and moduleC
.
3. Conclusion
Aggregator module itself does not provide any functionality but it is very important in designing and managing your modules efficiently.