Friday, September 5, 2008

Catching up!

A lot has happened since my last post: a vacation in France, the start of a new school year for the kids and the first release of a new Groovy utility that I've been working on, MetaBuilder.

MetaBuilder offers a number of features that make creating and using new builders safer and easier. First and foremost, it lets you specify your builder using a simple build language with lots of functionality to validate and control how objects are built.

Here's a Groovy script example to give you the flavor of it:

import groovytools.builder.*

MetaBuilder mb = new MetaBuilder()

mb.define {
customer {
properties {
name(req: true)
age(check: 1..120)
sex(check: ~/M|F/)
}
}
}

def aCustomer = mb.build {
customer(name: 'J. Doe', age: 25, sex: 'M')
}

If you manage to mistype a property name or violate a check constraint, MetaBuilder will throw an exception.

Wednesday, July 9, 2008

Introducing: 'uncaught exceptions'

Welcome to uncaught exceptions wherein I'll be sharing all sorts of things I come across while developing software and some other things, too.

I'm primarily a Java software developer, but I do a lot with Oracle and most recently, Groovy. (If you're a serious Java developer and you haven't seen Groovy yet, head on over there and check it out.)

One of the things that I've been working on for fun is groovytools, a collection of Groovy tools and experiments. The first of which is GPP, a Groovy port of VPP, which is an Ant and Velocity-based preprocessor. Either GPP or VPP can be a useful for code generation, mail-merge and numerous other template-based tasks. In general, I find Groovy much more convenient and less quirky to use than the venerable Velocity. In fact, the port to Groovy was extremely smooth and since then I haven't used Velocity again.

My advice to all programmers just getting started:
while(true) {
try { ... }
catch (Exception e) { ... }
}

For everyone else, never give up, just keep trying!
Content © didge

About Me

didge is my professional nickname, it's short for digital dave
Powered By Blogger