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

com.rits.cloning.FastClonerCustomCollection Maven / Gradle / Ivy

Go to download

The cloning library is a small, open source (Apache licensed) Java library which deep-clones objects. The objects do not have to implement the Cloneable interface. Effectively, this library can clone ANY Java object. It can be used i.e. in cache implementations, if you don't want the cached object to be modified or whenever you want to create a deep copy of an object.

The newest version!
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 implements IFastCloner
{
	public abstract T getInstance(T o);

    public Object clone(final Object t, final IDeepCloner cloner, final Map 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;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy