1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 package org.exolab.castor.mapping.loader;
37
38 import java.util.ArrayList;
39 import java.util.Collection;
40 import java.util.Enumeration;
41 import java.util.Iterator;
42 import java.util.List;
43 import java.util.Map;
44 import java.util.PriorityQueue;
45 import java.util.Set;
46 import java.util.SortedMap;
47 import java.util.SortedSet;
48
49 import org.exolab.castor.mapping.loader.collection.handler.ArrayListCollectionHandler;
50 import org.exolab.castor.mapping.loader.collection.handler.CollectionCollectionHandler;
51 import org.exolab.castor.mapping.loader.collection.handler.IteratorCollectionHandler;
52 import org.exolab.castor.mapping.loader.collection.handler.ListCollectionHandler;
53 import org.exolab.castor.mapping.loader.collection.handler.MapCollectionHandler;
54 import org.exolab.castor.mapping.loader.collection.handler.QueueCollectionHandler;
55 import org.exolab.castor.mapping.loader.collection.handler.SetCollectionHandler;
56 import org.exolab.castor.mapping.loader.collection.handler.SortedMapCollectionHandler;
57 import org.exolab.castor.mapping.loader.collection.handler.SortedSetCollectionHandler;
58
59
60
61
62
63
64
65 public final class J2CollectionHandlers {
66
67
68
69
70 private static CollectionHandlers.Info[] collectionHandlers;
71
72 static {
73 collectionHandlers = new CollectionHandlers.Info[] {
74 new CollectionHandlers.Info("list", List.class, false, new ListCollectionHandler()),
75 new CollectionHandlers.Info("arraylist", ArrayList.class, false,
76 new ArrayListCollectionHandler()),
77
78 new CollectionHandlers.Info("collection", Collection.class, false,
79 new CollectionCollectionHandler()),
80
81 new CollectionHandlers.Info("priorityqueue", PriorityQueue.class, false,
82 new QueueCollectionHandler()),
83
84 new CollectionHandlers.Info("set", Set.class, false, new SetCollectionHandler()),
85
86 new CollectionHandlers.Info("map", Map.class, false, new MapCollectionHandler()),
87
88 new CollectionHandlers.Info("sortedset", SortedSet.class, false,
89 new SortedSetCollectionHandler()),
90
91 new CollectionHandlers.Info("sortedmap", SortedMap.class, false,
92 new SortedMapCollectionHandler()),
93
94 new CollectionHandlers.Info("iterator", Iterator.class, false,
95 new IteratorCollectionHandler())};
96 }
97
98 public static CollectionHandlers.Info[] getCollectionHandlersInfo() {
99 return collectionHandlers;
100 }
101
102
103
104
105 public static final class IteratorEnumerator<T> implements Enumeration<T> {
106
107 private final Iterator<T> _iterator;
108
109 public IteratorEnumerator(Iterator<T> iterator) {
110 _iterator = iterator;
111 }
112
113 public boolean hasMoreElements() {
114 return _iterator.hasNext();
115 }
116
117 public T nextElement() {
118 return _iterator.next();
119 }
120
121 }
122
123 }