Page Configuration

Sometimes you need to parameterize the behavior of a web page, not only by switching functionality on or off but by providing concrete values, e.g. a parameter when calling webservices. A web page in a web fragment can only provide default values for such parameters. In a web application component you have to be able to overwrite that default value. You accomplish this by modeling typed configuration items for a web page, like this:

...

type Configuration {
    field CardTypes : string {
        set CollectionType = List;
    }
}

layout ContractOverview {
    link ConfigurationItems = Configuration;

    ...
}

...

With the above modeled configuration item, you get an inner class Configuration generated in the [Layout-Name]BeanCustomization.java file. The inner class has a field
private List<String> cardTypes = new ArrayList<String>();. The initialization of the configuration is done in private void initConfiguration() in [Layout-Name]BeanCustomization.java. In this method the logic is found to get overwritten configuration by calling the method getConfigurationItems(Configuration configuration) in an object of the type App[Layout-Name]BeanCustomization.java that is found in a web application component. The implementation of that method can be used to set configuration items in the passed object configuration.