org.apache.tapestry5.internal.services
Class PropertyConduitSourceImpl
java.lang.Object
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl
- All Implemented Interfaces:
- InvalidationListener, PropertyConduitSource
public class PropertyConduitSourceImpl
- extends Object
- implements PropertyConduitSource, InvalidationListener
|
Method Summary |
PropertyConduit |
create(Class rootClass,
String expression)
Returns property conduit instance for the given expression. |
static void |
nullTerm(String term,
String expression,
Object root)
May be invoked from fabricated PropertyConduit instances. |
void |
objectWasInvalidated()
Clears its caches when the component class loader is invalidated; this is because it will be common to generate
conduits rooted in a component class (which will no longer be valid and must be released to the garbage
collector). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PropertyConduitSourceImpl
public PropertyConduitSourceImpl(PropertyAccess access,
@ComponentLayer
ClassFactory classFactory,
TypeCoercer typeCoercer)
create
public PropertyConduit create(Class rootClass,
String expression)
- Description copied from interface:
PropertyConduitSource
- Returns 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 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.)
objectWasInvalidated
public void objectWasInvalidated()
- Clears its caches when the component class loader is invalidated; this is because it will be common to generate
conduits rooted in a component class (which will no longer be valid and must be released to the garbage
collector).
- Specified by:
objectWasInvalidated in interface InvalidationListener
nullTerm
public static void nullTerm(String term,
String expression,
Object root)
- May be invoked from fabricated PropertyConduit instances.
Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.