Stringy-types are the usual catch-all construct Java developers fall back 
to when the language falls short. You even have entire embedded internal 
DSL's like JPQL/HQL, even if the lack of multi-line strings makes this a 
horrible experience. In the past, we've had IDE's with various level of 
stringy-type syntax checking (I've dabbled with this myself: 
http://blog.bangbits.com/2008/09/netbeans-plugin-suppresswarnings.html), so 
a generic SPI solution (and a MVN plugin?) sounds like a great idea.

/Casper

On Wednesday, February 20, 2013 1:14:11 AM UTC+1, A McDowell wrote:
>
> Caveat: what follows assumes that you find value in detecting syntax 
> errors in the pre-"unit test" phase of development. That isn't to say that 
> the most appropriate place to solve these issues isn't during unit testing, 
> but I thought I'd throw the problem out to the group. If this is old ground 
> & my search skills have failed me, feel free to point me at 
> articles/posts/code.
>
>
>
> I've been thinking about how to validate the stringly-typed[1] things I 
> use (to greater or lesser degrees.)
>
> Within Java SE:
>
>  - java.util.regex.Pattern
>  - java.util.Formatter
>  - java.text.MessageFormat
>  - javax.xml.XPath
>  - java.net.URI
>
> In the case where inputs to these types are static string constants their 
> syntax can be validated at compile time via annotation processors. Expand 
> into enterprise containers and you start encountering things like EL syntax.
>
> I've written some proof-of-concept code[2] that validates against the JRE 
> implementation but such tests are unlikely to be consistent across JRE 
> versions/implementations.
>
> What should they be validating against? Grammars? How do you specify the 
> grammar given SPIs/JRE implementation bugs/etc? Runtime implementation? How 
> do you handle things like XPath functions?
>
> I don't expect there'll be a catch-all answer; every DSL has different 
> constraints; every project has its own needs. I'm just curious as to how 
> other people are approaching these problems.
>
> [1] http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html
> [2] 
> http://illegalargumentexception.blogspot.co.uk/2013/01/java-validating-regular-expression.html
>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/javaposse?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to