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