| ////////////////////// |
| * 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. |