KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > spoon > jdiet > rt > Helper


1 package spoon.jdiet.rt;
2
3 import java.util.Enumeration JavaDoc;
4 import java.util.Hashtable JavaDoc;
5 import java.util.Vector JavaDoc;
6
7 /**
8  * This class contains helper methods used by classes tansformed by the
9  * J2MEConverter processor. This class implements features of J2SE unavailable
10  * with J2ME.
11  *
12  * @author Lionel Seinturier <Lionel.Seinturier@lifl.fr>
13  */

14 public class Helper {
15
16     /* ========================================================
17      * Dealing with Arrays
18      * ========================================================
19      */

20     
21     public static Vector JavaDoc asList( Object JavaDoc[] elements ) {
22         Vector JavaDoc v = new Vector JavaDoc();
23         for (int i = 0; i < elements.length; i++) {
24             v.addElement(elements[i]);
25         }
26         return v;
27     }
28     
29     /* ========================================================
30      * Dealing with Enumeration
31      * ========================================================
32      */

33
34     public static Vector JavaDoc toVector( Enumeration JavaDoc e ) {
35         Vector JavaDoc v = new Vector JavaDoc();
36         while( e.hasMoreElements() ) {
37             v.addElement( e.nextElement() );
38         }
39         return v;
40     }
41
42     
43     /* ========================================================
44      * Dealing with Hashtable
45      * ========================================================
46      */

47
48     /**
49      * Given a Hashtable, return a vector of MapEntryImpl corresponding to pairs
50      * of keys and values contained in the Hashtable.
51      */

52     public static Vector JavaDoc entrySet( Hashtable JavaDoc h ) {
53         Vector JavaDoc v = new Vector JavaDoc();
54         for ( Enumeration JavaDoc e = h.keys() ; e.hasMoreElements() ; ) {
55             Object JavaDoc key = e.nextElement();
56             Object JavaDoc value = h.get(key);
57             MapEntryImpl mei = new MapEntryImpl(key,value);
58             v.addElement(mei);
59         }
60         return v;
61     }
62
63     public static Vector JavaDoc keys( Hashtable JavaDoc h ) {
64         return toVector(h.keys());
65     }
66
67     public static Vector JavaDoc keySet( Hashtable JavaDoc h ) {
68         Vector JavaDoc v = new Vector JavaDoc();
69         for ( Enumeration JavaDoc e = h.keys() ; e.hasMoreElements() ; ) {
70             Object JavaDoc key = e.nextElement();
71             v.addElement(key);
72         }
73         return v;
74     }
75     
76     public static Vector JavaDoc values( Hashtable JavaDoc h ) {
77         return toVector(h.elements());
78     }
79     
80     
81     /* ========================================================
82      * Dealing with Vector
83      * ========================================================
84      */

85     
86     public static boolean addList( Vector JavaDoc v, Object JavaDoc element ) {
87         v.addElement(element);
88         return true;
89     }
90     
91     public static boolean addAllList( Vector JavaDoc v, Vector JavaDoc elements ) {
92         for (Enumeration JavaDoc e = elements.elements() ; e.hasMoreElements();) {
93             Object JavaDoc element = e.nextElement();
94             addList(v,element);
95         }
96         return (elements.size() != 0);
97     }
98
99     /**
100      * Add an element in a vector with a set semantics.
101      * If the element already exists in the vector, do not add it.
102      *
103      * @return true if the vector has changed after the adding
104      */

105     public static boolean addSet( Vector JavaDoc v, Object JavaDoc element ) {
106         if( v.contains(element) ) {
107             return false;
108         }
109         v.addElement(element);
110         return true;
111     }
112     
113     public static boolean addAllSet( Vector JavaDoc v, Vector JavaDoc elements ) {
114         boolean hasChanged = false;
115         for (Enumeration JavaDoc e = elements.elements() ; e.hasMoreElements();) {
116             Object JavaDoc element = e.nextElement();
117             if( addSet(v,element) ) {
118                 hasChanged = true;
119             }
120         }
121         return hasChanged;
122     }
123
124     public static Vector JavaDoc newList( Vector JavaDoc src ) {
125         Vector JavaDoc v = new Vector JavaDoc();
126         addAllList(v,src);
127         return v;
128     }
129     
130     public static Vector JavaDoc newSet( Vector JavaDoc src ) {
131         Vector JavaDoc v = new Vector JavaDoc();
132         addAllSet(v,src);
133         return v;
134     }
135     
136     public static Object JavaDoc[] toArray( Vector JavaDoc v ) {
137         Object JavaDoc[] container = new Object JavaDoc[v.size()];
138         v.copyInto(container);
139         return container;
140     }
141     
142     public static Object JavaDoc[] toArray( Vector JavaDoc v, Object JavaDoc[] container ) {
143         if( container.length != v.size() ) {
144             container = new Object JavaDoc[v.size()];
145         }
146         v.copyInto(container);
147         return container;
148     }
149     
150 }
151
Popular Tags