Yeah, I agree. I would like to make ProxyFactory an interface and split commons-proxy into 4 modules.
commons-proxy-api - contains the api classes and perhaps some useful superclasses for folks to use to write their own impls. commons-proxy-jdk - jdk proxy implementation commons-proxy-javassist - the javassist implementation commons-proxy-cglib - the cglib implementation Then, at runtime, it'd look for something on the classpath to determine which implementation to use. On Mon, Jun 8, 2009 at 7:33 AM, Johan Compagner<[email protected]> wrote: > +1 ! > > On Mon, Jun 8, 2009 at 13:30, James Carman > <[email protected]>wrote: > >> I've tried pushing through the runtime implementation resolution >> (similar to slf4j), but nobody seems keen on it. At least, they >> didn't answer my emails. So, perhaps I'll just refactor it myself and >> put it out there and see what happens? >> >> On Mon, Jun 8, 2009 at 7:27 AM, Johan Compagner<[email protected]> >> wrote: >> > this we already kind of have. >> > >> > But it uses currently proxies. And is build on commons proxy that wants >> us >> > to hard code the proxie implementation >> > that you should use, thats in my eyes a wrong implementations, the whole >> > point of a wrapping class around a proxy >> > is that i dont want to choose at compile time which one i want! >> > >> > But our property model can do what you are describing just fine. >> > >> > johan >> > >> > >> > >> > On Tue, May 19, 2009 at 10:09, Martijn Dashorst >> > <[email protected]>wrote: >> > >> >> We've been discussing a typesafe property model before, and I'd like >> >> to see where the current crop of such APIs and suggestions is. With >> >> Wicket 1.4 imminent, and our migration to Java 5 this should be much >> >> more easy to implement than before. >> >> >> >> One such library is >> >> http://code.google.com/p/logicalpractice-collections/ where they make >> >> selectors available on standard collections. >> >> >> >> Using their library one can write the following: >> >> >> >> smiths = select(from(people).getLastName(), >> equalToIgnoringCase("smith")); >> >> >> >> >> >> Putting my Wicket head on, I think something like: >> >> >> >> bind(new Label("foo")).to(person).getLastName()); >> >> >> >> or >> >> >> >> add(new Label("foo").bind(person).getLastName()); >> >> >> >> Would be nice. >> >> >> >> Not sure how this jives with our desire to remove the default model >> >> slot. I think having a binding API might nicely coincide with removing >> >> a default slot. The details of this are left as an exercise to the >> >> reader ;-) >> >> >> >> Martijn >> >> >> > >> >
