Benedikt Ritter created LANG-964:
------------------------------------
Summary: Create fluent APIs where possible
Key: LANG-964
URL: https://issues.apache.org/jira/browse/LANG-964
Project: Commons Lang
Issue Type: Task
Components: General
Reporter: Benedikt Ritter
Fix For: 4.0
A lot of commons-lang is design in an old fashioned way using static util
methods. The problem of this design is, that it encodes a language into method
names leading to lots of variations of the same method in one class. For
example StringUtils has over 180 methods, 9 of which a related to splitting.
Instead of overloading methods and creating method name variations, we should
try to implement fluent APIs. Examples:
Instead of:
{code:java}
StringEscapeUtils.escapeHtml3(String)
StringEscapeUtils.escapeHtml4(String)
StringEscapeUtils.escapeXml(String)
{code}
the API could look like:
{code:java}
StringEscaping.escape(String).with(Escaping.HTML_3)
StringEscaping.escape(String).with(Escaping.HTML_4)
StringEscaping.escape(String).with(Escaping.XML)
{code}
So no additional methods are necessary when adding new escaping. There are more
examples in commons-lang where the fluent design can be applied.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)