Package org.apache.geronimo.kernel.repository

Examples of org.apache.geronimo.kernel.repository.ClassLoadingRule


        ClassLoader cl = new MultiParentClassLoader(NAME, new URL[]{myJar.toURL()}, parentCl);
        Class clazz = cl.loadClass(CLASS_NAME);
        assertSame(parentCl, clazz.getClassLoader());

        ClassLoadingRules classLoadingRules = new ClassLoadingRules();
        ClassLoadingRule classLoadingRule = classLoadingRules.getHiddenRule();
        classLoadingRule.addClassPrefixes(Collections.singleton(CLASS_NAME));
        cl = new MultiParentClassLoader(NAME, new URL[]{myJar.toURL()}, parentCl, classLoadingRules);
        clazz = cl.loadClass(CLASS_NAME);
        assertSame(cl, clazz.getClassLoader());
    }
View Full Code Here


        Class clazz = cl.loadClass(CLASS_NAME);
        assertSame(parentCl, clazz.getClassLoader());

        ClassLoadingRules classLoadingRules = new ClassLoadingRules();
        classLoadingRules.setInverseClassLoading(true);
        ClassLoadingRule classLoadingRule = classLoadingRules.getNonOverrideableRule();
        classLoadingRule.addClassPrefixes(Collections.singleton(CLASS_NAME));
        cl = new MultiParentClassLoader(NAME, new URL[]{myJar.toURL()}, parentCl, classLoadingRules);
        clazz = cl.loadClass(CLASS_NAME);
        assertSame(parentCl, clazz.getClassLoader());
    }
View Full Code Here

            }
        }

        // we need to propagate the non-overrideable classes from parents
        ClassLoadingRules classLoadingRules = environment.getClassLoadingRules();
        ClassLoadingRule nonOverrideableRule = classLoadingRules.getNonOverrideableRule();
        for (Configuration parent : classParents) {
            Environment parentEnvironment = parent.getEnvironment();
            ClassLoadingRules parentClassLoadingRules = parentEnvironment.getClassLoadingRules();
            ClassLoadingRule parentNonOverrideableRule = parentClassLoadingRules.getNonOverrideableRule();
            nonOverrideableRule.merge(parentNonOverrideableRule);
        }

        if (log.isDebugEnabled()) {
            StringBuffer buf = new StringBuffer("ClassLoader structure for configuration ").append(id).append("\n");
View Full Code Here

        return loadClass(name, resolve, Collections.EMPTY_LIST);
    }

    protected synchronized Class<?> loadClass(String name, boolean resolve, List<ClassLoader> visitedClassLoaders)
            throws ClassNotFoundException {
        ClassLoadingRule privateRule = rules.getPrivateRule();
        ClassLoader parent = getParent();
        if (privateRule.isFilteredClass(name)) {
            throw new ClassNotFoundException(name + " is hidden by classloader " + parent);
        }
       
        if (parent instanceof MultiParentClassLoader) {
            try {
View Full Code Here

        }
        return super.loadClass(name, resolve);
    }
   
    public URL getResource(String name) {
        ClassLoadingRule privateRule = rules.getPrivateRule();
        if (privateRule.isFilteredResource(name)) {
            return null;
        }
        return super.getResource(name);
    }
View Full Code Here

        }
        return super.getResource(name);
    }

    public Enumeration<URL> getResources(String name) throws IOException {
        ClassLoadingRule privateRule = rules.getPrivateRule();
        if (privateRule.isFilteredResource(name)) {
            return new CompoundEnumeration(new Enumeration[0]);
        }
        return super.getResources(name);
    }
View Full Code Here

TOP

Related Classes of org.apache.geronimo.kernel.repository.ClassLoadingRule

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.