commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulo Gaspar <dev.apa...@kebom.net>
Subject Re: [beanutils] PropertyUtils & DynaBeans
Date Sat, 04 Dec 2004 23:07:53 GMT
> OK, you're off my Christmas Card list now Paulo.


=:oD
That's the spirit! Maybe your're cool after all...

Cheers,
Paulo


Niall Pemberton wrote:

>OK, you're off my Christmas Card list now Paulo.
>
>Niall
>
>----- Original Message ----- 
>From: "Paulo Gaspar"
>To: "Jakarta Commons Developers List"
>Sent: Saturday, December 04, 2004 3:41 PM
>Subject: Re: [beanutils] PropertyUtils & DynaBeans
>
>
>  
>
>>Niall,
>>
>>What looks pretty clear is that YOU do not know what he is talking about.
>>
>>On caching: he is only talking about caching introspection information,
>>not the actual beans.
>>
>>Go and study what the DynaBean/DynaClass implementations are all about.
>>Do your home work if you really care about them.
>>
>>Regards,
>>Paulo Gaspar
>>
>>Niall Pemberton wrote:
>>
>>    
>>
>>>Maybe you could spell out the issues with PropertyUtils and DynaBeans and
>>>the methods involved and what you're trying to do because its not clear
>>>      
>>>
>what
>  
>
>>>your trying to resolve.
>>>
>>>I'm don't see much value in the getDynaProperties() method being in
>>>PropertyUtils - all you need to do is make eveything a DynaBean then you
>>>      
>>>
>can
>  
>
>>>get the DynaProperties and do whatever you want using the existing
>>>DynaBean/DynaClass methods -  no need for PropertyUtils at all.
>>>
>>>DynaBean dynaBean = (bean instanceof DynaBean)
>>>           ? (DynaBean)bean : new WrapDynaBean(bean);
>>>
>>>For caching to work people are going to have to change how they create
>>>DynaBeans and I believe its better left up to the environment they're
>>>      
>>>
>being
>  
>
>>>used in to implement a caching mechanism - Struts does this for its
>>>DynaActionForm implementation.
>>>
>>>Niall
>>>
>>>----- Original Message ----- 
>>>From: "Kris Nuttycombe" <Kris.Nuttycombe@noaa.gov>
>>>To: "Commons Developers Jakarta" <commons-dev@jakarta.apache.org>
>>>Sent: Saturday, December 04, 2004 12:55 AM
>>>Subject: [beanutils] PropertyUtils & DynaBeans
>>>
>>>
>>>
>>>
>>>      
>>>
>>>>Hi, all,
>>>>
>>>>As it currently stands, PropertyUtils doesn't support DynaBeans for a
>>>>number of its methods. It doesn't make much sense to return
>>>>PropertyDescriptors for DynaBeans, but it's no great pain to use
>>>>WrapDynaClass on an ordinary class and thereby be able to introspect
>>>>either regular beans or DynaBeans using the same interface. To support
>>>>this, I'd like to add a method with the signature:
>>>>
>>>>DynaProperty[] getDynaProperties(Object bean)
>>>>
>>>>to PropertyUtilsBean, with a corresponding static method in
>>>>        
>>>>
>PropertyUtils.
>  
>
>>>>Now, one of the other advantages of using PropertyUtilsBean is that it
>>>>caches the introspected data. Conceivably, this would also be a useful
>>>>feature for the getDynaProperties method. However, here we have a
>>>>problem: since DynaClass doesn't have any way to enforce that its
>>>>implementations implement HashCode, there's no way to use the same map
>>>>caching strategy as is used for the PropertyDescriptors. This
>>>>illustrates a larger issue, which is that DynaClass objects aren't
>>>>singletons like Class objects are.
>>>>
>>>>To resolve this, I propose adding an AbstractDynaClass base class that
>>>>implements hashCode() and equals() based upon the public methods
>>>>available in DynaClass. This way, even if DynaClasses aren't singletons,
>>>>they can be used for hash keys. It might be also useful to implement a
>>>>registry for DynaClasses in this abstract class to provide
>>>>singleton-like functionality. Existing DynaClass implementations would
>>>>be modified to extend AbstractDynaClass.
>>>>
>>>>Any thoughts?
>>>>
>>>>Kris
>>>>
>>>>        
>>>>


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message