The use of interfaces is a deliberate step to improve the usefulness of the API by not mandating any particular implementation. We are not going to change that.
I don't understand what makes a simple String a bad choice for representing language tags. There are no other attributes that could be attached to the string, per the BCP47 design to have all of the information required in a simple string. In addition that BCP47 string literal is all that is referred to in RDF-1.1, which is our core reference, not the JVM or other libraries design choices. Ie, the RDF-1.1 specs do not disect the language tag, so we see no need to do so here. The equality rules (lower case comparison with any casing for the tag literal itself) are all defined at the total level, so in that case it also doesn't make sense to decompile the string. On 31 March 2015 at 00:21, Reto Gmür <[email protected]> wrote: > Hi Andy, > >>> >>> and you have evolved to something for Clerezza that is not interface >>> based, which, as already commented (no response from you BTW) is a >>> roadblock for some. There was a point about scalability as well. > > I was waiting for jira, I will create an issue to address this. I think > IRIs and and language should be glasses. The current code uses an interface > IRI (a different from URL and URI in the java core library for which I fail > to understand the justifying use cases) and a String to express the > language tag (poor OO and wrong identify criterion, as the casing of the > language tag makes is irrelevant). > > As for scalability I don't know what you are referring to. > > I will create issues and answer your other points when I'm back on a better > connection. > > Cheers, > Reto
