in src/main/java/com/microsoft/azure/functions/worker/binding/RpcCollectionByteArrayDataSource.java [19:33]
public static Object convertToByteList(List<ByteString> sourceValue, Type targetType) {
if(targetType == List.class) {
return sourceValue.stream().map(element -> element.toByteArray()).collect(Collectors.toCollection(ArrayList::new));
}
else if(targetType instanceof ParameterizedType){
Type targetActualType = ((ParameterizedType) targetType).getActualTypeArguments()[0];
if (targetActualType == byte[].class) {
return sourceValue.stream().map(element -> element.toByteArray()).collect(Collectors.toCollection(ArrayList::new));
} else if (targetActualType == Byte[].class) {
return sourceValue.stream().map(element -> (ArrayUtils.toObject(element.toByteArray()))).collect(Collectors.toList());
}
throw new UnsupportedOperationException("Input data type \"" + targetActualType + "\" is not supported");
}
throw new UnsupportedOperationException("Input data type \"" + targetType + "\" is not supported");
}