I’ve spent the last year or so doing low-level [for me] coding. StringUtils, Collection extensions, Comparators, a command line argument parser, a host of basic helpers and tools that I felt I needed.
Some of them are now at Jakarta Commons and I can stop relying on my version, others are now deprecated because Jakarta Commons has better versions. CLI being a prime example.
So now that I can happily list a chunk of components that I would expect to use on any project [and I will do in another entry], I’m thinking about the next step. It has to be a step back towards the OO Design I was focusing on so much a year or more ago, it has to however be very reusable and provide a foundation/building-block to strengthen the position I was in.
So my thoughts are drifting towards a common user/role pattern and a common address pattern. In fact, any kind of business-logic pattern which I can find enough reusability in. The big problem is, how generic must it be. I’m not trying to release these as OMG standards, it’s just intended to be something simple, yet good, which will work on 80% of projects. Either by importing or by copy and pasting. It must involve a stock of DDL and Java code to be reused somehow.
To be honest, I am under no illusions that these are new ideas. Jim Birchfield mentioned that Oracle have such a set, I’m sure OMG or OASIS or one of those industry standard bodies who seem to spend most of their time finding achievable comprimises have such a thing.
But this is on a different scope. While those companies will need to support large setups, and will have design by committee, I can aim low. Scratch my own itch so to speak.
The first one that came to mind was user-permission setup. These kind of things are always done, the system always starts with a user who has some plaintext password, then permissions of various types are needed, then roles, then it starts to get complex.