Package org.apache.tapestry5.beanmodel.services

## Interface PropertyConduitSource

- All Known Implementing Classes:
    `PropertyConduitSourceImpl`

      public interface PropertyConduitSource

  A source for `PropertyConduit`s, which can be thought of as a compiled property path expression. PropertyConduits are the basis of the "prop:" binding factory, thus this service defines the expression format used by the `PropBindingFactory`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PropertyConduit` | `create​(Class rootType, String expression)` | Returns a property conduit instance for the given expression.

- - ### Method Detail

    - #### create

          PropertyConduit create​(Class rootType,
                                 String expression)

      Returns a property conduit instance for the given expression. PropertyConduitSource caches the conduits it returns, so despite the name, this method does not always create a new conduit. The cache is cleared if a change to component classes is observed. Callers of this method should observe notifications from the `InvalidationEventHub` for `ComponentClasses` and discard any aquired conduits; failure to do so will create memory leaks whenever component classes change (the conduits will keep references to the old classes and classloaders).
      Parameters:
        `rootType` - the type of the root object to which the expression is applied
        `expression` - expression to be evaluated on instances of the root class
      Returns:
        RuntimeException if the expression is invalid (poorly formed, references non-existent properties, etc.)