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

Claude Warren updated CLI-333:
------------------------------
    Assignee: Claude Warren

> Define Builder as an implementation of Supplier
> -----------------------------------------------
>
>                 Key: CLI-333
>                 URL: https://issues.apache.org/jira/browse/CLI-333
>             Project: Commons CLI
>          Issue Type: New Feature
>          Components: CLI-1.x, Help formatter, Parser
>    Affects Versions: 1.7.0
>            Reporter: Claude Warren
>            Assignee: Claude Warren
>            Priority: Minor
>
> The Builder pattern as described by the gang of four and general 
> implementations across multiple blogs and source packages creates a complex 
> pattern when a method is called.  That method specified in the pattern 
> description is "getResult", however the review of several blogs and 
> implementations indicate that "build", "getX" "toX" are all popular names for 
> the production method.
> In Java the Supplier interface defines a producer of X and stipulates that 
> every time the production method is called an instance of X must be returned. 
>  It does allow for the same instance to be returned for every call.
> Thus a Builder is a customization of the Supplier.  As commons strives to 
> utilize the JRE patterns over custom patterns, it makes sense that all 
> Builders should implement Supplier.
> Therefore this change is to have all Builders
>  # implement Supplier and add a get() method (if not already present)
>  # have the current producer method delegate to the get() method
>  # mark the current producer method as deprecated with a note to use get.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to