public Loader getLoader()

in src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java [283:315]


    public <T extends Assembler> Loader<T> getLoader(Class<T> type)
    {
        Loader<T> loader = null;

        if (isCaching && loaderCache.containsKey(type))
        {
            loader = (Loader<T>) loaderCache.get(type);
            log.debug("Found {} loader in the cache!", type);
        }
        else
        {
            log.debug("Getting Loader for {}", type);
            List<AssemblerFactory<T>> facs = getFactoryGroup(type);

            for (Iterator<AssemblerFactory<T>> it = facs.iterator(); (loader == null) && it.hasNext();)
            {
                AssemblerFactory<T> fac = it.next();
                loader = fac.getLoader();
            }

            if (isCaching && loader != null)
            {
                loaderCache.put(type, loader);
            }
        }

        if (loader == null)
        {
            log.warn("Loader for {} is null.", type);
        }

        return loader;
    }