Here you can find the source of getResults(Iterable
Parameter | Description |
---|---|
IllegalStateException | if any generated an exception |
public static <T> List<T> getResults(Iterable<Future<T>> futures)
//package com.java2s; /*//from w ww. jav a 2s . c o m * Copyright (c) 2013, Cloudera, Inc. All Rights Reserved. * * Cloudera, Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"). You may not use this file except in * compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for * the specific language governing permissions and limitations under the * License. */ import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class Main { /** * Checks results for exceptions by calling all {@link Future#get()}. * * @throws IllegalStateException if any generated an exception */ public static <T> List<T> getResults(Iterable<Future<T>> futures) { List<T> results = new ArrayList<>(); for (Future<T> future : futures) { try { results.add(future.get()); } catch (InterruptedException e) { throw new IllegalStateException(e); } catch (ExecutionException e) { throw new IllegalStateException(e.getCause()); } } return results; } }