package org.atea.nlptools.macroniser.util;

import java.io.Closeable;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * Simple utility methods for IO operations.
 *
 * @author John Cocks
 */
public class IOUtil
{
    private static final Logger logger = LogManager.getLogger(IOUtil.class);

    /**
     * Safely closes a {@link Closeable} object.
     * @param closeable
     */
    public static void safeClose(Closeable closeable)
    {
        if (closeable == null) {
            return;
        }

        try {
            closeable.close();
        }
        catch (Exception ex) {
            logger.error("Failed to close a closeable", ex);
        }
    }
}

