My approach has always been to start from a position of strength, which generally means lots of details, such as exactly what to inject. It much easier to loosen things up gradually (by introducing smart defaults) if you start from a state where things are very explicitly defined.
In fact, you could code and prototype this yourself; the logic you want should be part of the EnhancementWorkers configuration point: http://jakarta.apache.org/tapestry/tapestry-annotations/hivedocs/config/tapestry.enhance.EnhancementWorkers.html You would need to provide a worker that fits in just before abstract-property. It could scan the unclaimed properties http://jakarta.apache.org/tapestry/tapestry/apidocs/org/apache/tapestry/enhance/EnhancementOperation.html#findUnclaimedAbstractProperties() and determine which of them could be injected http://jakarta.apache.org/hivemind/hivemind/apidocs/org/apache/hivemind/internal/Module.html#getService(java.lang.Class) (which, unfortunately, throws an exception if not found ... need to add a checkForService() method). It's then pretty simple to inject the service implementation into the class and implement the read-only accessor method. http://jakarta.apache.org/tapestry/tapestry/apidocs/src-html/org/apache/tapestry/enhance/InjectObjectWorker.html#line.33 On 10/12/05, Konstantin Ignatyev <[EMAIL PROTECTED]> wrote: > I buy into the consistency argument but still do not > want to see annotations in the trivial cases. > > I am talking about consistency of different kind: tool > does everything for me till it needs guidance. It is > about Sensible defaults philosophy and following > conventions philosophy. > For example the now famous 'Ruby-on-Rails' is > entirely built of conventions and enjoys enormous > success (although at my taste RoR relies on > conventions too much). > > > --- Ivano <[EMAIL PROTECTED]> wrote: > > > I'm totally with Pat and Scott on this. > > For a tool to behave consistently is a critical > > point, and to do this > > you should avoid different behaviour without any > > apparent reason. > > In the long run the simple routine of performing > > those little but > > familiar steps will become automatical for you > > (believe me, it's true), > > while > > preserving consistency and clarity for the newbies. > > > > -1 for automagical annotations =) > > > > Ivano > > > > Patrick Casey wrote: > > > > > I'm with Scott on this one. I think that less > > auto-magic, not more, > > >makes the framework infinitely simpler for new > > users to understand. One of > > >my long-term usability complaints about tapestry > > 3.0.3 has been the > > >inconstient use of the "ognl" prefix in an effort > > to save keystrokes because > > >tapestry should just "know" that I mean the > > litteral "foo" instead of the > > >derived value getFoo(). > > > > > > I'd hate to see the same confusion make its way > > into Tapestry 4.0 as > > >well. To my way of thinking the additional > > keystrokes required to annotate > > >everything the same way is more than offset by the > > shorter learning curve of > > >a system that has one, and only one, consistent way > > of injecting things into > > >pages. > > > > > > --- Pat > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > Konstantin Ignatyev > > > > > PS: If this is a typical day on planet earth, humans will add fifteen million > tons of carbon to the atmosphere, destroy 115 square miles of tropical > rainforest, create seventy-two miles of desert, eliminate between forty to > one hundred species, erode seventy-one million tons of topsoil, add 2,700 > tons of CFCs to the stratosphere, and increase their population by 263,000 > > Bowers, C.A. The Culture of Denial: Why the Environmental Movement Needs a > Strategy for Reforming Universities and Public Schools. New York: State > University of New York Press, 1997: (4) (5) (p.206) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator, Jakarta Tapestry Creator, Jakarta HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
