Hi,

I would like to use Java 1.5 features now in Jackrabbit. I hope this
will improve reliability, simplify maintenance, and reduce source code
size. Unfortunately using generics is sometimes quite verbose.
Example:

HashMap wspInfos = new HashMap();
becomes
HashMap<String, WorkspaceInfo> wspInfos = new HashMap<String, WorkspaceInfo>();

Part of that could be avoided using a helper class:

HashMap<String, WorkspaceInfo> wspInfos = New.hashMap();

I propose to add a new 'generics generator class' called 'New' to
jackrabbit-jcr-commons. It would contain constructor methods for the
most commonly used collection objects.

public class New {
    public static <K, V> HashMap<K, V> hashMap() {
        return new HashMap<K, V>();
    }
    public static <T> ArrayList<T> arrayList() {
        return new ArrayList<T>();
    }
    public static <T> WeakReference<T> weakReference(T t) {
        return new WeakReference<T>(t);
    }
    ...
}

What do you think? Are there better solutions?

Regards,
Thomas

Reply via email to