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
37
38
39
40
41
42
43
44
45
46 package org.exolab.castor.mapping.loader;
47
48 import java.util.ArrayList;
49 import java.util.Collection;
50 import java.util.Enumeration;
51 import java.util.Iterator;
52 import java.util.List;
53 import java.util.Map;
54 import java.util.PriorityQueue;
55 import java.util.Set;
56 import java.util.SortedMap;
57 import java.util.SortedSet;
58
59 import org.exolab.castor.mapping.loader.collection.handler.ArrayListCollectionHandler;
60 import org.exolab.castor.mapping.loader.collection.handler.CollectionCollectionHandler;
61 import org.exolab.castor.mapping.loader.collection.handler.IteratorCollectionHandler;
62 import org.exolab.castor.mapping.loader.collection.handler.ListCollectionHandler;
63 import org.exolab.castor.mapping.loader.collection.handler.MapCollectionHandler;
64 import org.exolab.castor.mapping.loader.collection.handler.QueueCollectionHandler;
65 import org.exolab.castor.mapping.loader.collection.handler.SetCollectionHandler;
66 import org.exolab.castor.mapping.loader.collection.handler.SortedMapCollectionHandler;
67 import org.exolab.castor.mapping.loader.collection.handler.SortedSetCollectionHandler;
68
69
70
71
72
73
74
75
76 public final class J2CollectionHandlers {
77
78
79
80
81 private static CollectionHandlers.Info[] collectionHandlers;
82
83 static {
84 collectionHandlers = new CollectionHandlers.Info[] {
85 new CollectionHandlers.Info("list", List.class, false, new ListCollectionHandler()),
86 new CollectionHandlers.Info("arraylist", ArrayList.class, false, new ArrayListCollectionHandler()),
87
88 new CollectionHandlers.Info("collection", Collection.class, false, new CollectionCollectionHandler()),
89
90 new CollectionHandlers.Info("priorityqueue", PriorityQueue.class, false, new QueueCollectionHandler()),
91
92 new CollectionHandlers.Info("set", Set.class, false, new SetCollectionHandler()),
93
94 new CollectionHandlers.Info("map", Map.class, false, new MapCollectionHandler()),
95
96 new CollectionHandlers.Info("sortedset", SortedSet.class, false, new SortedSetCollectionHandler()),
97
98 new CollectionHandlers.Info("sortedmap", SortedMap.class, false, new SortedMapCollectionHandler()),
99
100 new CollectionHandlers.Info("iterator", Iterator.class, false, new IteratorCollectionHandler())
101 };
102 }
103
104 public static CollectionHandlers.Info[] getCollectionHandlersInfo() {
105 return collectionHandlers;
106 }
107
108
109
110
111 public static final class IteratorEnumerator<T> implements Enumeration<T> {
112
113 private final Iterator<T> _iterator;
114
115 public IteratorEnumerator(Iterator<T> iterator) {
116 _iterator = iterator;
117 }
118
119 public boolean hasMoreElements() {
120 return _iterator.hasNext();
121 }
122
123 public T nextElement() {
124 return _iterator.next();
125 }
126
127 }
128
129 }