package fr.openwide.core.jpa.more.business.difference.differ.strategy; import java.util.Arrays; import java.util.Collection; public abstract class AbstractCollectionDifferStrategy<T, K> extends AbstractContainerDifferStrategy<Collection<T>, K> { public AbstractCollectionDifferStrategy(ItemContentComparisonStrategy itemContentComparisonStrategy) { super(itemContentComparisonStrategy); } @SuppressWarnings("unchecked") @Override public Collection<T> toContainer(Object object) { if (object == null) { return null; // NOSONAR } else if (object instanceof Collection) { return (Collection<T>)object; } else if (object instanceof Object[]) { return Arrays.asList((T[])object); } else { throw new IllegalArgumentException("This strategy only supports collections and arrays."); } } }