WarpPI/src/com/rits/cloning/FastClonerCustomCollection.java
2016-09-02 20:32:37 +02:00

26 lines
610 B
Java

package com.rits.cloning;
import java.util.Collection;
import java.util.Map;
/**
* @author kostantinos.kougios
*
* 21 May 2009
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public abstract class FastClonerCustomCollection<T extends Collection> implements IFastCloner {
public abstract T getInstance(T o);
@Override
public Object clone(final Object t, final IDeepCloner cloner, final Map<Object, Object> clones) {
final T c = getInstance((T) t);
final T l = (T) t;
for (final Object o : l) {
final Object clone = cloner.deepClone(o, clones);
c.add(clone);
}
return c;
}
}