What is Ferris Util

Ferris Util is a project containing miscellaneous utilities. What exactly is a miscellaneous utility? That is a tricky question to answer. In my career the "util" package has been the most abused package I have seen, containg classes which obviously should be packaged elsewhere but for some reason got dumped into "util".

Ferris Util is a project containing classes related to the core Java language features, specifically stuff which enhances the java.util package and which is not already in Jakarta Commons.

The rules for how to get a class into Ferris Util are simple.

  • Does the class or functionaly exist already in Jakarta Commons? If it does exist, use it. Do not recreate it.
  • Does the class you want to create map to an existing class in java.util or one of its sub-packages? If so, you can put the code into Ferris Util. For example, CalendarTools can go into Ferris Util because the class java.util.Calendar exits. A class like StringTools would not go into Ferris Util because the String class exists in the java.lang package.

Ferris Util should stay relatively small. A lot of functionality already exists either in the JDK itself or in a Jakarta Commons package somewhere.