Heh..Just tired of waiting. I think for things like this I'm going to have
to be on my own until someone catches something naughty going on. Everyone
is very busy :)

On 3/27/06, Brian K. Wallace <[EMAIL PROTECTED]> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> lol - throw a good evening's worth out to ponder then full steam ahead
> while musings still churn. :-)
>
>
> Jesse Kuhnert wrote:
> > I hope an hour was enough time to react because I've already started. :)
> I
> > don't mind throwing the code out if problems are found, it's just
> killing me
> > not having ~something~ working...
> >
> >
> >
> > On 3/27/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
> >> I would like to preface this with saying that as far as I'm concerned
> this
> >> is only the result of various ideas howard's casually been floating
> around
> >> on the list. Maybe I've inferred and done it slightly differently than
> he
> >> originally meant, but I'm also hoping he'll jump in and help me
> describe wtf
> >> I'm trying to say in case it's not clear.
> >>
> >> What I need is a way to genericize the interface that requires passing
> in
> >> IMarkupWriter/IRequestCycle at certain points.
> >>
> >> Luckily for us if we float up the interface chain the IRender interface
> >> semantics were left somewhat closed up to the general public. Though I
> can
> >> see a fair amount of references using it internally to tapestry I'm
> hoping
> >> that the public at large has stuck to IComponent.renderComponent() to
> do
> >> most of their logic. (fingers crossed)
> >>
> >> What I want to do isn't overly complicated. I want to make IRender a
> >> little bit more private and internal to tapestry, and expose a
> new/different
> >> interface. I ~can~ get what I want if I were to change IRender to look
> more
> >> like this:
> >>
> >> public interface IRender
> >> {
> >>     /**
> >>      *  The principal rendering/rewinding method.  This will cause
> >>      *  the receiving component to render its top level elements (HTML
> >>      *  text and components).
> >>      *
> >>      *  <p>Renderring and rewinding are the exact same process.  The
> >>      *  same code that renders must be able to restore state by going
> >>      *  through the exact same operations (even though the output is
> >>      *  discarded).
> >>      *
> >>      **/
> >>
> >>     void render(ResponseBuilder builder, IRequestCycle cycle);
> >> }
> >>
> >> This is still more or less the same thing, only ResponseBuilder
> contains
> >> the IMarkupWriter instance. It will of course pass IMarkupWriter (or
> another
> >> writer instance for other things, if relevant) into the right
> components at
> >> the right places. (still calling renderComponent(),  as per normal )
> >>
> >> So now, instead of calling IRender.render(), you call it with a
> >> ResponseBuilder, and he sort of takes over from there. This is what I
> need
> >> in order to support multiple Markup type interfaces/ajax/json without
> >> breaking backwards compatibility. Here is what the ResponseBuilder
> interface
> >> currently looks like:
> >>
> >>     /**
> >>      * Renders the response to a client. Handles transitioning logic
> >>      * for setting up page and associated components for response.
> >>      *
> >>      * @param cycle
> >>      *          The main request cycle object for this request.
> >>      */
> >>     void renderResponse(IRequestCycle cycle);
> >>
> >> I'm hoping if the changes being proposed are ok'd a new method will be
> >> added into the chain:
> >>
> >>    void render(IRender render, IRequestCycle cycle);
> >>
> >> I think you can see where I'm going with this quite clearly with the
> >> method above added in.
> >>
> >> Everything is in place for me to do it, but I really want to make sure
> >> this is ok before I move forward as it's quite a large change.
> >>
> >> --
> >> Jesse Kuhnert
> >> Tacos/Tapestry, team member/developer
> >>
> >> Open source based consulting work centered around
> >> dojo/tapestry/tacos/hivemind.  http://opennotion.com
> >>
> >
> >
> >
> > --
> > Jesse Kuhnert
> > Tacos/Tapestry, team member/developer
> >
> > Open source based consulting work centered around
> > dojo/tapestry/tacos/hivemind.  http://opennotion.com
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.5 (MingW32)
>
> iD8DBQFEKLBCaCoPKRow/gARApksAJ9VD1J4Z2oj/Pivb0ryDj0TAqMo+QCdGVdW
> pBbFvuEG3ywOZHEqeZ5bjg0=
> =InDo
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.  http://opennotion.com

Reply via email to