All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.czyzby.kiwi.util.gdx.asset.Disposables Maven / Gradle / Ivy

There is a newer version: 1.9.1.9.6
Show newest version
package com.github.czyzby.kiwi.util.gdx.asset;

import java.util.Map;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.ObjectMap;
import com.github.czyzby.kiwi.util.common.UtilitiesClass;

/** Provides some simple utility methods for disposable objects.
 *
 * @author MJ */
public class Disposables extends UtilitiesClass {
    private Disposables() {
    }

    /** Performs null check and disposes of an asset.
     *
     * @param disposable will be disposed of (if it exists). */
    public static void disposeOf(final Disposable disposable) {
        if (disposable != null) {
            disposable.dispose();
        }
    }

    /** Performs null checks and disposes of assets.
     *
     * @param disposables will be disposed of (if they exist). */
    public static void disposeOf(final Disposable... disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables) {
                disposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets.
     *
     * @param disposables will be disposed of (if they exist). */
    public static void disposeOf(final Iterable disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables) {
                disposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets.
     *
     * @param disposables its values will be disposed of (if they exist). Can be null. */
    public static void disposeOf(final ObjectMap disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables.values()) {
                disposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets.
     *
     * @param disposables its values will be disposed of (if they exist). Can be null. */
    public static void disposeOf(final Map disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables.values()) {
                disposeOf(disposable);
            }
        }
    }

    /** Performs null check and disposes of an asset. Ignores exceptions.
     *
     * @param disposable will be disposed of (if it exists). */
    public static void gracefullyDisposeOf(final Disposable disposable) {
        try {
            if (disposable != null) {
                disposable.dispose();
            }
        } catch (final Throwable exception) {
            Gdx.app.error("WARN", "Unable to dispose: " + disposable + ". Ignored.", exception);
        }
    }

    /** Performs null checks and disposes of assets. Ignores exceptions.
     *
     * @param disposables will be disposed of (if they exist). */
    public static void gracefullyDisposeOf(final Disposable... disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables) {
                gracefullyDisposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets. Ignores exceptions.
     *
     * @param disposables will be disposed of (if they exist). */
    public static void gracefullyDisposeOf(final Iterable disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables) {
                gracefullyDisposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets. Ignores exceptions.
     *
     * @param disposables its values will be disposed of (if they exist). Can be null. */
    public static void gracefullyDisposeOf(final ObjectMap disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables.values()) {
                gracefullyDisposeOf(disposable);
            }
        }
    }

    /** Performs null checks and disposes of assets. Ignores exceptions.
     *
     * @param disposables its values will be disposed of (if they exist). Can be null. */
    public static void gracefullyDisposeOf(final Map disposables) {
        if (disposables != null) {
            for (final Disposable disposable : disposables.values()) {
                gracefullyDisposeOf(disposable);
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy