Interface ModelNormalizer

  • All Known Implementing Classes:
    DefaultModelNormalizer

    public interface ModelNormalizer
    Handles normalization of a model. In this context, normalization is the process of producing a canonical representation for models that physically look different but are semantically equivalent.
    Author:
    Benjamin Bentmann
    • Method Detail

      • mergeDuplicates

        void mergeDuplicates​(Model model,
                             ModelBuildingRequest request,
                             ModelProblemCollector problems)
        Merges duplicate elements like multiple declarations of the same build plugin in the specified model.
        Parameters:
        model - The model whose duplicate elements should be merged, must not be null.
        request - The model building request that holds further settings, must not be null.
        problems - The container used to collect problems that were encountered, must not be null.
      • injectDefaultValues

        void injectDefaultValues​(Model model,
                                 ModelBuildingRequest request,
                                 ModelProblemCollector problems)
        Sets default values in the specified model that for technical reasons cannot be set directly in the Modello definition.
        Parameters:
        model - The model in which to set the default values, must not be null.
        request - The model building request that holds further settings, must not be null.
        problems - The container used to collect problems that were encountered, must not be null.