jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tobias Bocanegra <tri...@day.com>
Subject Re: Generics generator class
Date Mon, 04 May 2009 21:28:07 GMT
On Mon, May 4, 2009 at 4:12 PM, Felix Meschberger <fmeschbe@gmail.com> wrote:
> Hi,
>
> Thomas Müller schrieb:
>> 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.
>
> I don't consider this a big issue.
>
>> 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
>
> Starting to have such helper classes amounts to a spiral with no end.
> There is IMHO also no use.
i agree with felix. such helper classes only confuse developers and do
not really have
a big advantage. i like it to be verbose - it easier to read, since
you know what you get,
and simpler to debug. furthermore it creates a new dependency to
another package.

so:

-1 for adding a 'New' helper class.

regards, toby

>
> In fact, while the "new HashMap<String, WorkspaceInfo>()" construct has
> almost no influence on the generated class file, the helper class
> creates a new class object and increases memory footprint. I think the
> price is beyond what might be acceptable.
>
> Regards
> Felix
>
>
>>
>> Regards,
>> Thomas
>>
>
>

Mime
View raw message