On Thu, Apr 7, 2011 at 2:55 PM, Henri Yandell <flame...@gmail.com> wrote: > On Mon, Mar 7, 2011 at 10:05 PM, Henri Yandell <flame...@gmail.com> wrote: >> On Sat, Mar 5, 2011 at 8:46 AM, Oliver Heger >> <oliver.he...@oliver-heger.de> wrote: >>> Two minor points from my side: >>> >> >>> - Just a proposal: There are some translators in the new translate package >>> which can be configured with a range of the codes to be processed. Would it >>> make sense to use the Range class for this purpose? Then configuration could >>> be more flexible (because multiple ranges could be specified), and there >>> would probably be less duplicate code for checking the ranges. >> >> Very interesting. >> >> Also makes me wonder if Range should support the notion of >> Range.above, Range.below and Range.outside in addition to >> Range.between and Range.is. That change the API from: >> >> UnicodeEscaper.between(x, y) >> >> to: >> >> new UnicodeEscaper(Range.between(x,y)) >> new UnicodeEscaper(Range.above(y)) >> new UnicodeEscaper(Range.below(x)) >> new UnicodeEscaper(Range.outsideOf(x,y)) >> >> For the translators; sounds great. I'm trying to remember if I hit >> problems introducing the feature of either an open-ended Range, or an >> inverted Range. Looking at LANG-551, it looks like I tried to >> introduce the inverted Range notion (outsideOf) so that I could merge >> in CharRange, and it never really worked. >> >> Worth trying again I think. > > I've begun by implementing the code in the translators as a new > CodepointRange. Stunningly (actually I was a bit surprised) I've > rewritten CharRange :) So at a minimum I think: > > a) CharRange should be updated for codepoints. > b) Translators should use CharRange. > > I also tried to update Range to support the necessary features, and > the two APIs don't fit too well together. I'm going to go ahead and do > a) and b); then ponder the CharRange into Range question again.
Scratch that, as you'll see from svn I was able to move the translate package classes over to the Range class without too much pain. The lack of being able to say 'minimum excluded' is a bit annoying; and you have to define 'outsideOf' as two separate ranges. I think the latter is the right thing and I'm working on the former. I'm working on moving CharSet over to Range (and dumping CharRange). All very possible; it's the additional APIs of toString and having tests that check the input was parsed correctly that are a pain as both of them are reflections on CharSet's private mechanics. Hen --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org