package org.infinispan.commons.configuration.attributes;
import org.infinispan.commons.util.Util;
/**
* SimpleInstanceAttributeCopier. This {@link AttributeCopier} "copies" an instance by creating a new instance
*
* @author Tristan Tarrant
* @since 7.2
*/
public class SimpleInstanceAttributeCopier<T> implements AttributeCopier<T> {
public static final AttributeCopier<Object> INSTANCE = new SimpleInstanceAttributeCopier<>();
private SimpleInstanceAttributeCopier() {
// Singleton constructor
}
@Override
public T copyAttribute(T attribute) {
if (attribute == null)
return null;
else
return (T) Util.getInstance(attribute.getClass());
}
}