Torsten Curdt wrote:
> On 08.03.2008, at 15:25, James Carman wrote:
> 
>> On 3/8/08, Torsten Curdt <[EMAIL PROTECTED]> wrote:
>>> 
>>>  On 08.03.2008, at 13:44, James Carman wrote:
>>> 
>>>> All,
>>>> 
>>>> The wicket folks are investigating using Commons Proxy and they
>>>> don't want to have to decide which implementation (jdk, cglib,
>>>> javassist) to use themselves.  They would like us to split up
>>>> Commons Proxy into 3 jars, commons-proxy, commons-proxy-cglib,
>>>> commons-proxy-javassist. Any thoughts?
>>> 
>>> 
>>> Is the discovery such a big problem with proxy? ...in general I
>>>  prefer the static discovery type. But someone has to do it.
>> 
>> Well, Johan makes a good case.  He's writing some code that he wants
>> to use Proxy, but he doesn't want to have to figure out what
>> implementation to use himself.  He'd rather it be done automatically
>> for him, by doing something like ProxyFactory.getInstance().  I
>> thought about this at one time.  I guess we could say, instantiate
>> your class that's based on Proxy by passing in whatever
>> implementation the client wants.  So, he could have something like:
>> 
>> public class MyFrameworkClass
>> {
>>   public MyFrameworkClass(ProxyFactory proxyFactory)   {
>>     this.proxyFactory = proxyFactory;
>>   }
>> 
>>   public Object createSomeKindOfProxy(SomeArgument arg)   {
>>     return proxyFactory.create...
>>   }
>> }
> 
> Well, one could just try and see what classes are available in the
> classpath. This could be easily be done in a wrapper class as you
> suggested. 

Shrug. And suddenly someone adds a new library that introduces new deps (e.g. 
Hibernate to CGLIB). Why not simply use JDK proxy as default and use a system 
property to override the default selection? If a project is dependend on a more 
powerful proxy implementation they have to select one themselves or document 
this fact for their users (e.g. they have to use CGLIB- or JavaAssist-based 
proxies).

- Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to