You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by manuel aldana <al...@gmx.de> on 2008/12/28 21:35:43 UTC

[T5] codebase question: transform of methods/classes

Hi,

am digging into source code these days. Currently it is a bit unclear, 
what happens with the marker-annotations and how they are transformed to 
the respective method signature.

Example:
In my debugger my custom component's type is shown as type Component, 
though it is a POJO and thus only inherits from Object. How is this type 
transformation possible? My debugger shows directly type Component so 
there should no wrapper/proxy involved (which can mimic some kind of 
dynamic typing).
I guess ClassTransformation, its worker and TransformMethodSignature are 
the things which do the transformation of POJOs based on marker 
annotations. Still technically it is unclear how this works (making a 
POJO to a framework specific type)...

BTW: At one point would like to contribute+commit. But before want to 
get more handy with the code base. While doing this would like to 
contribute some code-base documentation how Tapestry 5 works internally. 
Some snippets exist already, but in my view they are worth to be 
extended. Of course these docs should be more high-level and not go into 
detail (danger of decaying docs vs. source-code). If you agree which 
place is the best way to put this (tapestry wiki, or directly to 
tapestry site-documentation)?

thanks.

-- 
 manuel aldana
 aldana@gmx.de
 software-engineering blog: http://www.aldana-online.de


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


Re: [T5] codebase question: transform of methods/classes

Posted by Howard Lewis Ship <hl...@gmail.com>.
Tapestry uses a custom class loader to for components. It uses the
Javassist library to load class files into memory, manipulate them
(such as adding the Component interface) before they are fully
instantiated.

Documentation is always handy, especially if provided as a patch. Just
create a JIRA issue and attach the patch.  Thanks!

On Sun, Dec 28, 2008 at 12:35 PM, manuel aldana <al...@gmx.de> wrote:
> Hi,
>
> am digging into source code these days. Currently it is a bit unclear, what
> happens with the marker-annotations and how they are transformed to the
> respective method signature.
>
> Example:
> In my debugger my custom component's type is shown as type Component, though
> it is a POJO and thus only inherits from Object. How is this type
> transformation possible? My debugger shows directly type Component so there
> should no wrapper/proxy involved (which can mimic some kind of dynamic
> typing).
> I guess ClassTransformation, its worker and TransformMethodSignature are the
> things which do the transformation of POJOs based on marker annotations.
> Still technically it is unclear how this works (making a POJO to a framework
> specific type)...
>
> BTW: At one point would like to contribute+commit. But before want to get
> more handy with the code base. While doing this would like to contribute
> some code-base documentation how Tapestry 5 works internally. Some snippets
> exist already, but in my view they are worth to be extended. Of course these
> docs should be more high-level and not go into detail (danger of decaying
> docs vs. source-code). If you agree which place is the best way to put this
> (tapestry wiki, or directly to tapestry site-documentation)?
>
> thanks.
>
> --
> manuel aldana
> aldana@gmx.de
> software-engineering blog: http://www.aldana-online.de
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

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