package org.netbeans.gradle.project.util;
import java.util.Arrays;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
public final class Closeables {
private static final Logger LOGGER = Logger.getLogger(Closeables.class.getName());
public static void closeAll(AutoCloseable... resources) {
closeAll(Arrays.asList(resources));
}
public static void closeAll(Collection<? extends AutoCloseable> resources) {
for (AutoCloseable resource: resources) {
try {
if (resource != null) {
resource.close();
}
} catch (Throwable ex) {
String resourceStr = "?";
try {
resourceStr = String.valueOf(resource);
} catch (Throwable subEx) {
ex.addSuppressed(subEx);
}
LOGGER.log(Level.SEVERE, "Failed to close resource: " + resourceStr, ex);
}
}
}
private Closeables() {
throw new AssertionError();
}
}