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

com.github.loicoudot.java4cpp.Java4CppClassLoader Maven / Gradle / Ivy

package com.github.loicoudot.java4cpp;

import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;

public class Java4CppClassLoader extends URLClassLoader {

    private List visibleJars = null;

    public Java4CppClassLoader() {
        this(new URL[0], Thread.currentThread().getContextClassLoader());
    }

    public Java4CppClassLoader(URL[] urls, ClassLoader parent) {
        super(urls, parent);
    }

    public String getJar(String jarName) {
        for (String jarPath : getJars()) {
            if (jarPath.contains(jarName)) {
                return jarPath;
            }
        }
        return null;
    }

    private List getJars() {
        if (visibleJars == null) {
            visibleJars = new ArrayList();
            try {
                Enumeration jars = getResources("META-INF/MANIFEST.MF");
                while (jars.hasMoreElements()) {
                    String path = jars.nextElement().getPath();
                    visibleJars.add(path.substring(0, path.indexOf('!')));
                }
            } catch (Exception e) {
            }
        }
        return visibleJars;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy