You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Benedikt Ritter (Updated) (JIRA)" <ji...@apache.org> on 2012/02/06 20:35:59 UTC

[jira] [Updated] (SANDBOX-387) [BeanUtils2] Implement possibility to find out if a property readable and/or wirtable

     [ https://issues.apache.org/jira/browse/SANDBOX-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benedikt Ritter updated SANDBOX-387:
------------------------------------

    Attachment: SANDBOX-387.txt

Patch for this issue created and attached.
I implemented checking for simple properties and for indexed properties. Because there is no MappedPropertyDescriptor present in the Java API I did not know how to handle mapped properties. I added TODO markers for that to the methods.
                
> [BeanUtils2] Implement possibility to find out if a property readable and/or wirtable
> -------------------------------------------------------------------------------------
>
>                 Key: SANDBOX-387
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-387
>             Project: Commons Sandbox
>          Issue Type: Improvement
>          Components: BeanUtils2
>    Affects Versions: Nightly Builds
>            Reporter: Benedikt Ritter
>         Attachments: SANDBOX-387.txt
>
>
> Currently there is no possibility to find out, if a property is readable and/or writable.
> For example, one has to pass a value to {{setProperty(name).withValue(argument)}} and hope, that the property is writeable (because a {{NoSucheMethodExcpetion}} will be thrown, if it is not). For this reason it would be nice, if one could do something like:
> {code:java}
> if (on(myBean).isWritable("writeableProperty") {
>     on(myBean).setProperty("writableProperty").withValue("This is a String value!");
> }
> {code}
> Solution:
> * Add {{public boolean isWritable(String propertyName)}} and {{public boolean isReadable(String propertyName)}} to {{BeanAccessor}}.
> * in {{isWritable()}} check if a {{PropertyDescriptor}} can be obtained from PropertyRegistry (if not, throw {{NoSuchMethodException}}).
> ** if so, return true, if {{propertyDescriptor.getWriteMethod() != null}} and false otherwise.
> * in {{isReadable()}} check if a {{PropertyDescriptor}} can be obtained from PropertyRegistry (if not, throw {{NoSuchMethodException}}).
> ** if so, return true, if {{propertyDescriptor.getReadMethod() != null}} and false otherwise.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira