package com.fasterxml.jackson.datatype.eclipsecollections;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.CollectionLikeType;
import com.fasterxml.jackson.databind.type.TypeBindings;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.fasterxml.jackson.databind.type.TypeModifier;
import java.lang.reflect.Type;
import org.eclipse.collections.api.collection.ImmutableCollection;
class EclipseCollectionsTypeModifier extends TypeModifier {
@Override
public JavaType modifyType(JavaType type, Type jdkType, TypeBindings context, TypeFactory typeFactory) {
if (!type.isCollectionLikeType()) {
JavaType collectionType = type.findSuperType(ImmutableCollection.class);
if (collectionType != null) {
return CollectionLikeType.upgradeFrom(type, collectionType.containedTypeOrUnknown(0));
}
}
return type;
}
}