cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Haul <h...@dvs1.informatik.tu-darmstadt.de>
Subject Re: [PROPOSAL] mulitple actions per class
Date Tue, 12 Feb 2002 16:11:24 GMT
On 12.Feb.2002 -- 02:34 PM, Torsten Curdt wrote:
> While working with actions something bugs me more and more... For each
> very simple action you need to have a new class. Although it might be just
> a few lines for each, it becomes really ugly when you share code with
> other actions or need to call an action from an action. Plus having
> thousand of action class for a single webapp. Sure this all possible and
> one can say:  then use helper classes that hold all the shared code. But
> well - possible does not mean confortable.
> 
> IIRC with Turbine e.g. it is way more confortable. They use
> "methods as actions":
> 
>   class SomeActions {
> 
>     public void doMyAction(..) {
>     ...
> 
> (I'm not quite sure about the arguments and stuff though)
> This helps to have all related code at a glance.
> Although I'm not yet sure what syntax should be prefered
> 
> 1.  <map:action type="SomeActions.doMyAction">
>     <!-- directly use the method -->
> 
> 2.  <map:action type="SomeActions.MyAction">
>     <!-- have a fix prefix like "do" -->
> 
> 3.  <map:action type="SomeActions" method="doMyAction">
> 
> 4.  <map:action type="SomeActions" method="MyAction">
> 

5. <map:act type="SomeAction>
      <map:parameter name="do" value="MyAction"/>
   </map:action>

Which is currently possible. Afterall, no one prevents you from
dispatching different methods from your act method. It might be nice
to have a sample implementation, though.

You could even have an default value for @do and define several
actions...

This has two short comings:

a) syntax is too verbose
b) when creating multiple "aliases" for an action with different
   default values for @do it would result in seperate instance of that
   class while Torsten's proposal would share the same
   instance. (Hence the term "alias" is not correct!)

IMHO it would be cool to have a simple syntax for handing *exactly
one* parameter to any component without the need to nest a
<map:parameter/> element.

But then, the sitemap is probably going to be edited with a tool
anyway. Plus the syntax as is is clear and changes would need to
achieve the same clarity.

Just my 2ยข

	Chris.

-- 
C h r i s t i a n       H a u l
haul@informatik.tu-darmstadt.de
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08

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


Mime
View raw message