All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.exolab.castor.mapping.loader.collection.handler.CollectionCollectionHandler Maven / Gradle / Ivy

package org.exolab.castor.mapping.loader.collection.handler;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;

import org.exolab.castor.mapping.CollectionHandler;
import org.exolab.castor.mapping.loader.CollectionHandlers;
import org.exolab.castor.mapping.loader.J2CollectionHandlers.IteratorEnumerator;

public final class CollectionCollectionHandler implements CollectionHandler {
  @SuppressWarnings("unchecked")
  public Object add(Object collection, T object) {
    if (collection == null) {
      collection = new ArrayList();
      ((Collection) collection).add(object);
      return collection;
    }
    ((Collection) collection).add(object);
    return null;
  }

  @SuppressWarnings("unchecked")
  public Enumeration elements(Object collection) {
    if (collection == null)
      return new CollectionHandlers.EmptyEnumerator();
    return new IteratorEnumerator(((Collection) collection).iterator());
  }

  @SuppressWarnings("unchecked")
  public int size(Object collection) {
    if (collection == null)
      return 0;
    return ((Collection) collection).size();
  }

  @SuppressWarnings("unchecked")
  public Object clear(Object collection) {
    if (collection != null)
      ((Collection) collection).clear();
    return null;
  }

  public String toString() {
    return "Collection";
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy