View Javadoc
1   package org.exolab.castor.mapping.loader.collection.handler;
2   
3   import java.util.Enumeration;
4   import java.util.Iterator;
5   
6   import org.exolab.castor.mapping.CollectionHandler;
7   import org.exolab.castor.mapping.loader.CollectionHandlers;
8   import org.exolab.castor.mapping.loader.J2CollectionHandlers.IteratorEnumerator;
9   
10  public final class IteratorCollectionHandler<T> implements CollectionHandler<T> {
11    public Object add(Object collection, T object) {
12      // -- do nothing, cannot add elements to an
13      // enumeration
14      return null;
15    }
16  
17    @SuppressWarnings("unchecked")
18    public Enumeration<T> elements(Object collection) {
19      if (collection == null) {
20        return new CollectionHandlers.EmptyEnumerator<T>();
21      }
22      return new IteratorEnumerator<T>((Iterator<T>) collection);
23    }
24  
25    public int size(Object collection) {
26      // -- Nothing we can do without iterating over the
27      // iterator
28      return 0;
29    }
30  
31    public Object clear(Object collection) {
32      return null;
33    }
34  
35    public String toString() {
36      return "Iterator";
37    }
38  }