On Feb 23, 2018 4:26 AM, "sebb" <seb...@gmail.com> wrote:

On 23 February 2018 at 00:41, Gary Gregory <garydgreg...@gmail.com> wrote:
> On Thu, Feb 22, 2018 at 4:27 PM, sebb <seb...@gmail.com> wrote:
>
>> On 22 February 2018 at 23:15, Gary Gregory <garydgreg...@gmail.com>
wrote:
>> > On Thu, Feb 22, 2018 at 4:11 PM, sebb <seb...@gmail.com> wrote:
>> >
>> >> On 22 February 2018 at 22:27, Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>> >> > Use your imagination ;-)
>> >>
>> >> What would the new code look like?
>>
>> I mean the user code before and after the enum is introduced.
>>
>
> I don't have code for the _before_ since I wrote the enum to avoid it.
>
> I have a different util class that gets called like this:
>
> HexDump(byte[] data, LetterCase letterCase, more details...)

The above is only using the enum as a way to provide the requested
type of transform.

The important bit is the code that uses the enum to do the transform.


Obviously the method body would call #toCaseString() passing a String and
Locale as arguments. This question feels like trolling, as does the
insinuation that true/false *might not* be less clear in intent than
UPPER/LOWER, or vice versa as, again, we don't know what the hypothetical
API author was thinking in the case of boolean. WTH

The comment about Java 8 is fine as far as it goes, but doesn't really
invalidate this as the method supplied can easily be used as a BiFunction.
Gary, I'm thinking you might as well "underload" the method to pass the
default Locale to the two-argument variant so then you also implement
Function in the simple case. Then I'm sold. For a bonus you might provide
char method variants as well.

Matt


> This is much clearer than using a boolean for the letter case.

YMMV

> Gary
>
>
>>
>> >>
>> >
>> > I posted the code at the start of this thread...
>> >
>> > Gary
>> >
>> >
>> >>
>> >> How does it compare with code that does not have the enum?
>> >>
>> >> > I use it in the following contexts:
>> >> > - To pass to a hex dump method to configure where the alpha chars
>> should
>> >> be
>> >> > in lower case or upper case.
>> >> > - To configure a parameterized JUnit test class to configure the
case
>> of
>> >> > HTTP headers and values.
>> >> > - To normalize input
>> >> >
>> >> > Gary
>> >> >
>> >> >
>> >> > On Thu, Feb 22, 2018 at 3:14 PM, Otto Fowler <
ottobackwa...@gmail.com
>> >
>> >> > wrote:
>> >> >
>> >> >> What problem does it solve?
>> >> >>
>> >> >> On February 22, 2018 at 17:02:34, Gary Gregory (
>> garydgreg...@gmail.com)
>> >> >> wrote:
>> >> >>
>> >> >> Does anyone think this is useful and general enough to add to
Commons
>> >> >> Text:
>> >> >>
>> >> >> /**
>> >> >> * Enumerates letter cases and converts strings.
>> >> >> *
>> >> >> * @author <a href="mailto:ggreg...@rocketsoftware.com";>Gary
>> Gregory</a>
>> >> >> */
>> >> >> public enum LetterCase {
>> >> >> LOWER {
>> >> >> @Override
>> >> >> public String toCaseString(final String source, final Locale
>> >> >> locale) {
>> >> >> return source.toLowerCase(locale);
>> >> >> }
>> >> >>
>> >> >> },
>> >> >> UPPER {
>> >> >> @Override
>> >> >> public String toCaseString(final String source, final Locale
>> >> >> locale) {
>> >> >> return source.toUpperCase(locale);
>> >> >> }
>> >> >> };
>> >> >>
>> >> >> /**
>> >> >> * Converts from the given {@code source} string to the case
specified
>> >> >> by this enum using the given {@code locale}.
>> >> >> *
>> >> >> * @param source
>> >> >> * the string to convert
>> >> >> * @param locale
>> >> >> * the locale to use for conversion.
>> >> >> * @return a converted string.
>> >> >> */
>> >> >> public abstract String toCaseString(String source, Locale locale);
>> >> >> }
>> >> >>
>> >> >> ?
>> >> >>
>> >> >> Thank you,
>> >> >> Gary
>> >> >>
>> >> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> >> For additional commands, e-mail: dev-h...@commons.apache.org
>> >>
>> >>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to