Class PropertyConduitSourceImpl
- java.lang.Object
-
- org.apache.tapestry5.beanmodel.internal.services.PropertyConduitSourceImpl
-
- All Implemented Interfaces:
PropertyConduitSource
public class PropertyConduitSourceImpl extends java.lang.Object implements PropertyConduitSource
-
-
Constructor Summary
Constructors Constructor Description PropertyConduitSourceImpl(PropertyAccess access, PlasticProxyFactory proxyFactory, TypeCoercer typeCoercer, StringInterner interner)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PropertyConduit
create(java.lang.Class rootClass, java.lang.String expression)
Returns a property conduit instance for the given expression.void
listenForInvalidations(InvalidationEventHub hub)
static java.lang.NullPointerException
nullTerm(java.lang.String term, java.lang.String expression, java.lang.Object root)
May be invoked from fabricated PropertyConduit instances.
-
-
-
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(java.lang.Class rootClass, java.lang.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 theInvalidationEventHub
forComponentClasses
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 interfacePropertyConduitSource
- Parameters:
rootClass
- the type of the root object to which the expression is appliedexpression
- 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 java.lang.NullPointerException nullTerm(java.lang.String term, java.lang.String expression, java.lang.Object root)
May be invoked from fabricated PropertyConduit instances.
-
-