Package com.scooterframework.autoloader

Source Code of com.scooterframework.autoloader.ClassManager$SingletonHolder

/*
*   This software is distributed under the terms of the FSF
*   Gnu Lesser General Public License (see lgpl.txt).
*
*   This program is distributed WITHOUT ANY WARRANTY. See the
*   GNU General Public License for more details.
*/
package com.scooterframework.autoloader;

import com.scooterframework.common.exception.ObjectCreationException;

/**
* ClassManager class
*
* @author (Fei) John Chen
*
*/
public class ClassManager {
   
    private MyClassLoader xcl;
   
    private ClassManager() {
        xcl = new MyClassLoader(this);
    }
   
    private static class SingletonHolder {
        public static final ClassManager instance = new ClassManager();
    }

    public static ClassManager getInstance() {
        return SingletonHolder.instance;
    }
   
    public Object newInstance(String className) {
        Object o = null;
        try {
            Class<?> c = loadMyClass(className);
            o = c.newInstance();
        } catch (Exception ex) {
            throw new ObjectCreationException(className, ex);
        }
        return o;
    }
   
    public Class<?> loadMyClass(String className)
    throws ClassNotFoundException {
        return getMyClassLoader().loadMyClass(className);
    }
   
    public MyClassLoader getMyClassLoader() {
        return xcl;
    }
   
    void createNewClassLoader(String className) {
        xcl = new MyClassLoader(this);
    }
}
TOP

Related Classes of com.scooterframework.autoloader.ClassManager$SingletonHolder

TOP
Copyright © 2018 www.massapi.com. 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.