[
https://issues.apache.org/jira/browse/SANDBOX-387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200945#comment-13200945
]
Benedikt Ritter commented on SANDBOX-387:
-----------------------------------------
I'm +1 for shorter method names. I think ATM we are a bit inconsistent with
that. Take for example:
* {{onClassName(String beanTypeName)}}, but
* {{on(B bean)}} (and not onBean)
Since BeanUtils2 is still in sandbox, a change to the API won't be a problem,
will it?
I very much like your proposal {{ifIsWritable()...}}. How about:
{code:java}
ifIs( "propertyName" ).writable().on( myBean ).set( "This is a String value!" );
{code}
Then I'm seeing more stuff like that, like:
{code:java}
ifIs( myBean ).subclassing( Class<?> superClass ).invoke(
"superClassMethodName" ).with( ... );
ifIs( myBean ).implementing(Class<?> interfaceType).invoke(
"interfaceMethodName" ).with( ... );
{code}
> [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
>
> 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