Package org.apache.tapestry5.services

## Interface BindingSource

- All Known Implementing Classes:
    `BindingSourceImpl`

      @UsesMappedConfiguration(BindingFactory.class)
      public interface BindingSource

  Used to acquire bindings for component parameters. The BindingSource service strips off the binding prefix to locate a `BindingFactory`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Binding` | `newBinding​(java.lang.String description, ComponentResources container, java.lang.String defaultPrefix, java.lang.String expression)` | A simpler version of `newBinding(String, ComponentResources, ComponentResources, String, String, Location)` that defaults the values for several parameters.
    `Binding` | `newBinding​(java.lang.String description, ComponentResources container, ComponentResources component, java.lang.String defaultPrefix, java.lang.String expression, Location location)` | Examines the expression and strips off the leading prefix.

- - ### Method Detail

    - #### newBinding

          Binding newBinding​(java.lang.String description,
                             ComponentResources container,
                             ComponentResources component,
                             java.lang.String defaultPrefix,
                             java.lang.String expression,
                             Location location)

      Examines the expression and strips off the leading prefix. The prefix is used to choose the appropriate `BindingFactory`, which receives the description, the expression (after the prefix), and the location. If the prefix doesn't exist, or if there's no prefix, then the factory for the default prefix (often "literal") is used (and passed the full prefix). The binding represents a connection between the container and the component (the component is usually the child of the container, though in a few cases, it is the component itself). In most cases, the expression is evaluated in terms of the resources of the container and the component is ignored.
      Parameters:
        `description` - description of the binding, such as "parameter foo"
        `container` - typically, the parent of the component
        `component` - the component whose parameter is to be bound
        `defaultPrefix` - the default prefix used when the expression itself does not have a prefix
        `expression` - the binding
        `location` - location assigned to the binding (or null if not known)
      Returns:
        a binding

    - #### newBinding

          Binding newBinding​(java.lang.String description,
                             ComponentResources container,
                             java.lang.String defaultPrefix,
                             java.lang.String expression)

      A simpler version of `newBinding(String, ComponentResources, ComponentResources, String, String, Location)` that defaults the values for several parameters. This is used in most cases. The default binding prefix will be "prop". Most often, this is used to create a new default binding.
      Parameters:
        `description` - description of the binding, such as "parameter foo"
        `container` - typically, the parent of the component. This value will be used as the container and the component, so whatever type of expression is evaluated, will be evaulated in terms of this component
        `defaultPrefix` - the default prefix used when the expression itself does not have a prefix
        `expression` - the binding
      Returns:
        a binding