> > > Soundex is used by Strings(StringUtil) so it's > > > tempting to send it with it into Lang. > > > > Soundex seems like an String encoding to me, so > > why not in the codec component? > > Sounds like the best plan so far to me. Metaphone would go with it. > Currently Strings (StringUtil) calls both, so that would make Lang > dependant on Codec. Not sure if that's desirable. >
I'm not that familiar with StringUtils, but from a quick glance I see only: StringUtils.soundex(String) StringUtils.metaphone(String) StringUtils.isMetaphoneEqual(String,String) which seem to be in the wrong place anyway. This is part of the problem with a monolithic "util" package--it's too easy to bleed functionality, responsiblity and interdependencies between the classes. Having distinct components would force us to put more consideration into the partitioning. If we applied the single responsiblity principle I think we'd see a much different organization of commons-util, at both the package and class level.