ICUData.java 2.09 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.agl.impl;

import java.io.InputStream;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.MissingResourceException;

public final class ICUData {
    private static InputStream getStream(final Class root, final String resourceName, boolean required) {
        InputStream i = null;
        i = System.getSecurityManager() != null ? (InputStream)AccessController.doPrivileged(new PrivilegedAction(){

            public Object run() {
                return root.getResourceAsStream(resourceName);
            }
        }) : root.getResourceAsStream(resourceName);
        if (i == null && required) {
            throw new MissingResourceException("could not locate data " + resourceName, root.getPackage().getName(), resourceName);
        }
        return i;
    }

    private static InputStream getStream(final ClassLoader loader, final String resourceName, boolean required) {
        InputStream i = null;
        i = System.getSecurityManager() != null ? (InputStream)AccessController.doPrivileged(new PrivilegedAction(){

            public Object run() {
                return loader.getResourceAsStream(resourceName);
            }
        }) : loader.getResourceAsStream(resourceName);
        if (i == null && required) {
            throw new MissingResourceException("could not locate data", loader.toString(), resourceName);
        }
        return i;
    }

    public static InputStream getStream(ClassLoader loader, String resourceName) {
        return ICUData.getStream(loader, resourceName, false);
    }

    public static InputStream getRequiredStream(ClassLoader loader, String resourceName) {
        return ICUData.getStream(loader, resourceName, true);
    }

    public static InputStream getStream(String resourceName) {
        Class class_ = ICUData.class;
        return ICUData.getStream(class_, resourceName, false);
    }

    public static InputStream getRequiredStream(String resourceName) {
        Class class_ = ICUData.class;
        return ICUData.getStream(class_, resourceName, true);
    }

}