/** * @param model embededded model defining the new component, from an {@link * org.apache.tapestry5.annotations.Component} annotation * @param loadingComponent the currently loading container component * @param newComponent the new child of the container whose parameters are being bound * @param newComponentBindings map of bindings for the new component (used to handle inheriting of * informal parameters) */ private void bindParametersFromModel( EmbeddedComponentModel model, ComponentPageElement loadingComponent, ComponentPageElement newComponent, Map<String, Binding> newComponentBindings) { for (String name : model.getParameterNames()) { String value = model.getParameterValue(name); String defaultBindingPrefix = determineDefaultBindingPrefix(newComponent, name, BindingConstants.PROP); Binding binding = findBinding( loadingComponent, newComponent, name, value, defaultBindingPrefix, newComponent.getLocation()); if (binding != null) { newComponent.bindParameter(name, binding); // So that the binding can be shared if inherited by a subcomponent newComponentBindings.put(name, binding); } } }