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 ArrayListCollectionHandler<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      }
28      return new IteratorEnumerator<T>(((Collection<T>) collection).iterator());
29    }
30  
31    @SuppressWarnings("unchecked")
32    public int size(Object collection) {
33      if (collection == null) {
34        return 0;
35      }
36      return ((Collection<T>) collection).size();
37    }
38  
39    @SuppressWarnings("unchecked")
40    public Object clear(Object collection) {
41      if (collection != null) {
42        ((Collection<T>) collection).clear();
43      }
44      return null;
45    }
46  
47    public String toString() {
48      return "ArrayList";
49    }
50  
51  }