Hi Lance,

as far as I can see the public API was extended several times in the past. A lot methods are marked as @since 5.2. The only potential problem I see is in "Binding" since people might have implemented their own. It's quite unlikely that someone has it's own ComponentResources and such.

An alternative (especially for Binding) would be to create an Interface "GenericsAwareBinding" that extends Binding with the new method. Implementations could use the new Method if the binding is generic aware and otherwise fall back to the old "getBindingType".

Maybe this can even be achieved using instrumentation magic (dynamically add the method if it is missing and fall back to the non-generic)? Theoretically it should be possible to have a worker which detect if e.g. "Binding" is an interface but the new Method is missing.

I'm looking into TAP5-1213 to provide access to the bound property's
generic type information (eg List<SomeBean>). Basically the generic type
information needs to be passed from PropertyConduitSource to
ComponentResources

This change requires adding a generic type getter to a few public
interfaces, namely:
- org.apache.tapestry5.Binding
- org.apache.tapestry5.ComponentResources
- org.apache.tapestry5.PropertyConduit
- org.apache.tapestry5.ioc.services.PropertyAdapter

I realise that adding methods to public interfaces breaks backwards
compatability. What's people's thoughts on this?



--

Mit freundlichen Grüßen / Kind regards

Michael Wyraz

evermind GmbH
Schorlemmerstraße 1
04155 Leipzig

Tel.:       +49 (0)341-25 39 66 - 0
Fax:        +49 (0)341-25 39 66 - 1
Funk:       +49 (0)177-73 00 00 3
E-Mail:     michael.wy...@evermind.de

HRB: 21586
Amtsgericht Leipzig

Geschäftsführer:
Christoph Klemm


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to