Merge "BUG-509: add missing copyright headers"
[controller.git] / opendaylight / netconf / netconf-util / src / main / java / org / opendaylight / controller / netconf / util / CloseableUtil.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.netconf.util;
10
11 public class CloseableUtil {
12
13     public static void closeAll(Iterable<? extends AutoCloseable> autoCloseables) throws Exception {
14         Exception lastException = null;
15         for (AutoCloseable autoCloseable : autoCloseables) {
16             try {
17                 autoCloseable.close();
18             } catch (Exception e) {
19                 if (lastException == null) {
20                     lastException = e;
21                 } else {
22                     lastException.addSuppressed(e);
23                 }
24             }
25         }
26         if (lastException != null) {
27             throw lastException;
28         }
29
30     }
31 }