org.apache.tapestry5.internal.services

## Class PropertyConduitSourceImpl

- java.lang.Object
- - org.apache.tapestry5.internal.services.PropertyConduitSourceImpl

- All Implemented Interfaces:
    PropertyConduitSource

      public class PropertyConduitSourceImpl
      extends Object
      implements PropertyConduitSource

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PropertyConduitSourceImpl(PropertyAccess access, PlasticProxyFactory proxyFactory, TypeCoercer typeCoercer, StringInterner interner)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `PropertyConduit` | `create(Class rootClass, String expression)` Returns a property conduit instance for the given expression.
    `void` | `listenForInvalidations(InvalidationEventHub hub)`
    `static NullPointerException` | `nullTerm(String term, String expression, Object root)` May be invoked from fabricated PropertyConduit instances.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PropertyConduitSourceImpl

          public PropertyConduitSourceImpl(PropertyAccess access,
                                           @ComponentLayer
                                           PlasticProxyFactory proxyFactory,
                                           TypeCoercer typeCoercer,
                                           StringInterner interner)

  - ### Method Detail

    - #### listenForInvalidations

          @PostInjection
          public void listenForInvalidations(@ComponentClasses
                                                            InvalidationEventHub hub)

    - #### create

          public PropertyConduit create(Class rootClass,
                                        String expression)

      Description copied from interface: `PropertyConduitSource`
      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).
      Specified by:
        `create` in interface `PropertyConduitSource`
      Parameters:
        `rootClass` - 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.)

    - #### nullTerm

          public static NullPointerException nullTerm(String term,
                                                      String expression,
                                                      Object root)

      May be invoked from fabricated PropertyConduit instances.

5.6.0 - Copyright © 2003-2020 The Apache Software Foundation.