View Javadoc

1   //
2   //Copyright (c) 2003, Caltha - Gajda, Krzewski, Mach, Potempski Sp.J.
3   //All rights reserved.
4   //
5   //Redistribution and use in source and binary forms, with or without modification, 
6   //are permitted provided that the following conditions are met:
7   //
8   //* Redistributions of source code must retain the above copyright notice, 
9   //this list of conditions and the following disclaimer.
10  //* Redistributions in binary form must reproduce the above copyright notice, 
11  //this list of conditions and the following disclaimer in the documentation 
12  //and/or other materials provided with the distribution.
13  //* Neither the name of the Caltha - Gajda, Krzewski, Mach, Potempski Sp.J. 
14  //nor the names of its contributors may be used to endorse or promote products 
15  //derived from this software without specific prior written permission.
16  //
17  //THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
18  //AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
19  //WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20  //IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
21  //INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
22  //BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23  //OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
24  //WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
25  //ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
26  //POSSIBILITY OF SUCH DAMAGE.
27  //
28  
29  package org.objectledge.utils;
30  
31  import java.util.HashMap;
32  import java.util.Iterator;
33  import java.util.List;
34  import java.util.Map;
35  
36  /**
37   * This class contains various functions for collections.
38   *
39   * @author <a href="mailto:damian@caltha.pl">Damian Gajda</a>
40   * @author <a href="mailto:rafal@caltha.pl">Rafal Krzewski</a>
41   * @author <a href="mailto:pablo@caltha.pl">Pawel Potempski</a>
42   *
43   * @version $Id: CollectionUtils.java,v 1.2 2005/03/04 18:52:31 zwierzem Exp $
44   */
45  public class CollectionUtils
46  {
47      /***
48       * A private constructor to prevent instantiation of this static method only class.
49       */
50      private CollectionUtils()
51      {
52          // static access only
53      }
54  
55      /***
56       * Converst a list of two element lists (key, value) into a map.
57       *
58       * @param list the list
59       * @return a map
60       */
61      public static Map listToMap(List list)
62      {
63          Map map = new HashMap(list.size());
64          Iterator i = list.iterator();
65          while(i.hasNext())
66          {
67              List l = (List)i.next();
68              map.put(l.get(0), l.get(1));
69          }
70          return map;
71      }
72  }