jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Klimetschek <aklim...@day.com>
Subject Re: Generics generator class
Date Tue, 05 May 2009 07:24:14 GMT
On Mon, May 4, 2009 at 3:17 PM, Thomas Müller <thomas.mueller@day.com> wrote:
> 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?

+1

I like removing clutter, especially if it is something non-trivial
like List <= ArrayList. If one is doing something special in this
case, like using a sorted hashmap, he/she can write the verbose
version, and it will be very visible. Otherwise having shorter code
lines improves readability *a lot*.

Regards,
Alex

-- 
Alexander Klimetschek
alexander.klimetschek@day.com

Mime
View raw message