[
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)