blob: 4fd9fbf8df58c32e732a22da66c2a1cc2a3bf922 [file] [log] [blame]
//////////////////////
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied.
* See the License for the specific language governing permissions
* and limitations under the License.
//////////////////////
[[core-api-module,Module]]
= Module =
Modules are logical compartments to assist developers in creating and maintaining well modularized code. A Module only
belongs to a single Layer, but many Modules can exist in the same Layer. Composite access is limited to;
* Composites within the same Module, with Visibility set to Visibility.module (default).
* Composites from Modules in the same Layer, with Visibility set to Visibility.layer
* Composites from Modules in Layers below, with Visibility set to Visibility.application
Modules contains a lot of the Polygeneâ„¢ infrastructure, which are the enforcers of these wise modularization principles.
It is not possible to modify the Modules, their resolution nor binding in any way after the application starts.