I have an object delivery template, which I want to delete based on a name. String array which contains delivery template name is taken as an input parameter. I use Java Stream to iterate the list. Please find the code below.
public static List<String> deleteDeliveryTemplates(String... deliveryTemplateNames) {
List<String> failureList = new ArrayList<String>();
Stream<String>deliveryTemplateNamesStream= Stream.of(deliveryTemplateNames);
deliveryTemplateNamesStream.forEach(deliveryTemplateName ->{
try
{
deleteDeliveryTemplate(deliveryTemplateName);
} catch (Exception e)
{
failureList.add(deliveryTemplateName);
}
});
return failureList;
}
Is there a better way in JAVA 8 to return the failure list using stream. For example: using map function of Stream