But it doesn't HAVE to have an execute() method! Well, with the interface it does, but you don't have to USE it because you can specify the method to be called... Which is why the Interface is not needed. I doubt, though, that Mike has checked this in yet, even with his crazy Aussie sensibilities :-) (plus the fact that sf.net CVS is down evert time I try to get there).
Actually, having a method called execute() does not tie you to Xwork... I think every Ant task has to have that, doesn't it? But it's not an interface, there. I've gone over my reasons for getting rid of the Action Interface... I'll let Mike chime in when he gets a minute on his crazy whirlwind trip :-) Jason > -----Original Message----- > From: Pat Lightbody [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 02, 2003 2:32 PM > To: [EMAIL PROTECTED] > Subject: Re: [OS-webwork] WebWork2, here I come! > > > I don't agree, and I haven't looked at CVS lately, but if the > Action interface is gone I'd like for it to be put back so > that we can discuss this more. > > I think the mistake in your logic is that an action is a > "just" a POJO. It's NOT though, it's a POJO with a method > called execute() that contains a "stuff". That stuff is > specifically put in the execute() method because that object > needs to be recognized as something more than "just" an > object: it HAS an execute() method, and therefore it IS an > Action. This "is a" identity has been used by OO for decades > and there is no reason we should get rid of it now. > > The argument that making your object implement Action ties it > to XWork is dumb. So what if it is... even without it, having > a method called execute() ties it to XWork anyway. Even > having support for any method (a la command pattern), it is > still tied to XWork because the action was written to operate > in certain ways (IoC pattern support, getters and setters, > and possible callouts to ActionContext). > > Please don't underestimate the importance of compile-time > checking. For some things (validation, type coercion, web > layers, etc) using runtime features of the language is very > nice. But I don't want everything to be runtime -- that's why > I choose WebWork: it provides a nice balance between compile > time and runtime typing. > > I vote a BIG -1 to removing the Action interface, I have yet > to see a real use case that would demonstrate the importance > of doing this. > > -Pat > > ----- Original Message ----- > From: "Jason Carreira" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, July 02, 2003 11:16 AM > Subject: RE: [OS-webwork] WebWork2, here I come! > > > > This is a concern that Mike expressed as well, but I > challenged him to > > look at the code and see if it really makes sense. He looked, and > > grudgingly agreed that it made sense to get rid of it, especially > > since it took like 10 minutes and Gavin from Hibernate was there, > > talking about how he'd removed the Peristable interface > from Hibernate > > because it was just useless. > > > > Giving people a warm fuzzy feeling is not enough > justification, IMO, > > to needlessly tie Actions to Xwork, when they can really just be > > POJO's with no-arg methods returning a String. > > > > Jason > > > > > -----Original Message----- > > > From: Hani Suleiman [mailto:[EMAIL PROTECTED] > > > Sent: Wednesday, July 02, 2003 12:01 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: [OS-webwork] WebWork2, here I come! > > > > > > > > > I agree completely. All this 'just define it/figure it out at > > > runtime' stuff really bothers me. Interfaces might be very 'old > > > school' now, but > > > they are useful, just so you know at compile time what > > > contracts your > > > components/classes/whatever are adhering to. I still have yet > > > to look > > > at xwork (waiting for migration guides+tools and performance > > > reports), > > > but the concept of having all information in an xml file and > > > an active > > > effort to remove type safety/contracts from code feels > very wrong. I > > > understand the allure of 'but you can use ANYTHING as an > > > action!', but > > > I do feel that those things that are used as an action should > > > anticipate somewhat that they are one and will be treated > as one, in > > > most cases. > > > > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET > sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > > http://aspnet.click-> url.com/go/psa00100006ave/direct;at.asp_061203_01/ > > 01 > > _______________________________________________ > > Opensymphony-webwork mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites > including Data Reports, E-commerce, Portals, and Forums are > available now. Download today and enter to win an XBOX or > Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 1203_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork