You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Apache Wiki <wi...@apache.org> on 2011/01/02 02:26:58 UTC

[Tapestry Wiki] Trivial Update of "ComponentClassEnhacement" by BobHarner

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.

The "ComponentClassEnhacement" page has been changed by BobHarner.
The comment on this change is: outdated note.
http://wiki.apache.org/tapestry/ComponentClassEnhacement?action=diff&rev1=2&rev2=3

--------------------------------------------------

+ || NOTE: This is outdated information that applies only to Tapestry 3 and 4.  For current information see [[http://tapestry.apache.org/component-classes.html|Component Classes]]. ||
+ 
  Tapestry pages and components are often abstract.  At runtime, Tapestry uses information provided by the class and by the matching page or component specification, to enhance the class.
  
  Enhancement is the creation of a subclass with more methods and fields.
  
  Often the base class is abstract; the enhanced subclass is always concrete.
  
- Class enhnacement began in Tapestry 3.0; the motivation was the number of bugs caused (in 2.3 and earlier) by people not properly resetting instance variables of their pages/components
+ Class enhancement began in Tapestry 3.0; the motivation was the number of bugs caused (in 2.3 and earlier) by people not properly resetting instance variables of their pages/components
  back to default values when storing a page back into the page pool.
  
  Tapestry 3.0's <property-specification> element (renamed to <property> in 3.1) directed Tapestry on how to create a new transient or persistent property, that would behave properly when the containing page was pooled; it works equally well for pages and components.
@@ -15, +17 @@

  
  It is still awkward that the classes you create are abstract.  Tapestry 3.1 includes org.apache.tapestry.test.Creator, a utility class for instantiating abstract classes.  Creator does similar work to the enhancement subsystem; it finds all the properties of the class that are abstract and create simple read/write properties for each one. You can then test your classes.
  
- Tapestry 4.0 will no longer require that your page and component classes inherit from Tapestry base classes or implement Tapestry interfaces; it will be much more PlainOldJavaObjects.  However, it is still likely that the classes will be abstract.
+ Tapestry 4.0 will no longer require that your page and component classes inherit from Tapestry base classes or implement Tapestry interfaces; it will be much more Plain Old Java Objects.  However, it is still likely that the classes will be abstract.
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org