org.apache.tapestry.engine
Interface IComponentClassEnhancer

All Known Implementing Classes:
DefaultComponentClassEnhancer

public interface IComponentClassEnhancer

A provider of enhanced classes, classes with new methods and new attributes, and possibly, implementing new Java interfaces. The primary use of class enhancement is to automate the creation of transient and persistant properties.

Implementations of this interface must be threadsafe.

Since:
3.0
Version:
$Id: IComponentClassEnhancer.java 243791 2004-02-19 17:38:13Z hlship $
Author:
Howard Lewis Ship

Method Summary
 Class getEnhancedClass(IComponentSpecification specification, String className)
          Used to access the class for a given component (or page).
 void reset()
          Clears all cached data for the enhancer; this includes references to enhanced classes.
 

Method Detail

reset

void reset()
Clears all cached data for the enhancer; this includes references to enhanced classes.


getEnhancedClass

Class getEnhancedClass(IComponentSpecification specification,
                       String className)
Used to access the class for a given component (or page). Returns the specified class, or an enhanced version of the class if the component requires enhancement.

Parameters:
specification - the specification for the component
className - the name of base class to enhance, as extracted from the specification (or possibly, from a default).
Throws:
ApplicationRuntimeException - if the class does not exist, is invalid, or may not be enhanced.