package org.apache.cocoon.components;

import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.logger.Loggable;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.log.Logger;

public class ParentComponentManager implements ComponentManager, Loggable, Initializable {
    
    private Logger log;
    private String initParam;
    
    public ParentComponentManager (String initParam) {
        this.initParam = initParam;
    }
    
    public boolean hasComponent (String role) {
        return false;
    }
    
    public void initialize() {
        log.debug("Initializing parent component manager with \"" + initParam + "\"");
    }
    
    public Component lookup(String role) throws ComponentException {
        log.debug("Parent component manager looking up: " + role);
        throw new ComponentException("Could not find component for role " + role);
    }
    
    public void release(Component component) {
        // Do nothing.
    }
    
    public void setLogger(Logger logger) {
        this.log = logger;
    }
}


