View Javadoc
1   package org.exolab.castor.mapping.loader.collection.handler;
2   
3   import java.util.ArrayList;
4   import java.util.Collection;
5   import java.util.Enumeration;
6   
7   import org.exolab.castor.mapping.CollectionHandler;
8   import org.exolab.castor.mapping.loader.CollectionHandlers;
9   import org.exolab.castor.mapping.loader.J2CollectionHandlers.IteratorEnumerator;
10  
11  public final class CollectionCollectionHandler<T> implements CollectionHandler<T> {
12     @SuppressWarnings("unchecked")
13     public Object add(Object collection, T object) {
14        if (collection == null) {
15           collection = new ArrayList<T>();
16           ((Collection<T>) collection).add(object);
17           return collection;
18        }
19        ((Collection<T>) collection).add(object);
20        return null;
21     }
22  
23     @SuppressWarnings("unchecked")
24     public Enumeration<T> elements(Object collection) {
25        if (collection == null)
26           return new CollectionHandlers.EmptyEnumerator<T>();
27        return new IteratorEnumerator<T>(((Collection<T>) collection).iterator());
28     }
29  
30     @SuppressWarnings("unchecked")
31     public int size(Object collection) {
32        if (collection == null)
33           return 0;
34        return ((Collection<T>) collection).size();
35     }
36  
37     @SuppressWarnings("unchecked")
38     public Object clear(Object collection) {
39        if (collection != null)
40           ((Collection<T>) collection).clear();
41        return null;
42     }
43  
44     public String toString() {
45        return "Collection";
46     }
47  
48  }