tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Howard Lewis Ship <hls...@gmail.com>
Subject Re: TAP5-1213: Changes to public API
Date Sat, 17 May 2014 22:42:44 GMT
It can be problematic; I don't expect people to implement
ComponentResources ... but some other common interfaces, such as
FormSupport, are often proxied/delegated in a way that provides pain when
new methods are added.  JDK 8 default methods may help there, hard to say
so far.


On Sat, May 17, 2014 at 1:27 PM, Lance Java <lance.java@googlemail.com>wrote:

> I've managed to solve the issue without affecting org.apache.tapestry5.ioc.
> services.PropertyAdapter.
>
> So the introduced methods are:
> Type Binding.getBindingGenericType()
> Type PropertyConduit getPropertyGenericType()
> Type ComponentResources.getBoundGenericType(String parameterName)
>
> I don't think anyone will be implementing their own ComponentResources or
> PropertyConduit so I think those changes are fin. Ashas been mentioned,
> third parties (including myself) have implemented custom bindings. If it's
> any consolation, I've implemented AbstractBinding.getBindingGenericType()
> to simply return getBindingType().
>
> The other solution I can see is to have Binding2 in a similar style to
> Asset2 etc.
>
>
> On 16 May 2014 00:48, Howard Lewis Ship <hlship@gmail.com> wrote:
>
> > I'd need to know a bit more; this will tend to break 3rd party libraries
> > that compile against the old code, which is not so good. Possibly if the
> > new information could be added under an entirely new method of the
> existing
> > APIs that would be less of a problem.
> >
> >
> > On Wed, May 14, 2014 at 1:33 PM, Lance Java <lance.java@googlemail.com
> > >wrote:
> >
> > > 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?
> > >
> >
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> > learn how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> > @hlship
> >
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com
@hlship

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message