You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Oliver Heger (JIRA)" <ji...@apache.org> on 2013/03/03 21:31:13 UTC

[jira] [Updated] (BEANUTILS-428) Provide a BeanIntrospector implementation which supports properties in a fluent API

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

Oliver Heger updated BEANUTILS-428:
-----------------------------------

    Attachment: beanutils-428.patch

Patch contains the proposed {{FluentPropertyBeanIntrospector}} class and a corresponding test class.
                
> Provide a BeanIntrospector implementation which supports properties in a fluent API
> -----------------------------------------------------------------------------------
>
>                 Key: BEANUTILS-428
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-428
>             Project: Commons BeanUtils
>          Issue Type: Improvement
>          Components: Bean / Property Utils
>    Affects Versions: 1.8.3
>            Reporter: Oliver Heger
>            Assignee: Oliver Heger
>         Attachments: beanutils-428.patch
>
>
> BEANUTILS-425 was about adding a mechanism for customizing bean introspection. This ticket is a request for a concrete new {{BeanIntrospector}} implementation which detects writable bean properties even if the return value of the set method is not *void*.
> The _builder_ pattern and fluent API definitions become more and more popular. Here methods are offered for setting properties that return the current instance of a builder object for method chaining, for instance:
> {code}
> public class FooBuilder {
>     public FooBuilder setFooProperty1(String value) {
>         ...
>         return this;
>     }
>     public FooBuilder setFooProperty2(int value) {
>         ...
>         return this;
>     }
> }
> {code}
> Standard bean introspection will not recognize set methods like that because they do not conform to the Java Beans specification. A new {{BeanIntrospector}} implementation can be created which ignores the return type of set methods and create corresponding {{PropertyDescriptor}} objects with a correct write method.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira