001    package com.hammurapi.config.runtime;
002    
003    import org.eclipse.emf.ecore.EObject;
004    
005    /**
006     * Creates appropriate component context depending on data type and component type.
007     * @author Pavel Vlasov
008     *
009     */
010    public interface ContextFactory {
011    
012            /**
013             * Creates component context.
014             * @param definition
015             * @param component
016             * @param config
017             * @return
018             */
019            ConfigurationContext<?> createContext(EObject definition, Component<?> component, FactoryConfig config, DestroyableSink destroyableSink);
020    
021    }