[seam-dev] [weld-dev] Replacing pages.xml

Gavin King gavin.king at gmail.com
Thu Mar 4 16:53:23 EST 2010


On Thu, Mar 4, 2010 at 3:46 PM, Lincoln Baxter, III
<lincolnbaxter at gmail.com> wrote:
> Copying seam-dev because this seems very relevant ;)
> --
>
> A pitfall with the class/annotations configuration: the potential loss of
> ability for runtime modification during development.

Well, we can make this argument against *every* effort to improve
typesafety of the system. We can make the same argument against using
annotations to configure dependencies.

The truth is that the benefits outweigh the downsides.

> This forces all navigation logic from a specific view into one Enum
> definition, which is nicely centralized; however, I'm not sure what the
> intent is here: Is this a no-op navigation?
>
>       @View(.....)
>       main {
>          public MyAppPage next(MyAppPage page, Object outcome) {
>             return main;
>          }
>       },

Right, it's like returning null from a JSF action method.

> Also, how will this address the bookmarkability issue? How are parameters
> passed between pages? -- Pages.xml used explicit syntax for parameter
> passing:

I don't claim to have solved all problems yet, but I'm sure they are
solveable by provisions of appropriate APIs.

> I'm probably going to lite a fire by saying this, but sometimes XML is more
> concise than Java. I'd like to be convinced that this is a good option to
> provide, and that it will be simpler or more usable than XML. Right now my
> gut is telling me that it's going to be more complicated both for our
> development, and the users'.
>
> I am a big fan of the Injectability, and I think that's a strong point
> toward a native Java solution, but I'm not sure it's enough when you can
> already reference beans through EL in pages.xml and get direct access to
> both contexts and dependencies - giving you the best of both worlds in a
> pretty reusable way.

That's all very well, until something changes and you need to start
refactoring things.

-- 
Gavin King
gavin.king at gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org



More information about the seam-dev mailing list