package org.bundlemaker.core.exporter; import java.util.Set; import org.bundlemaker.core.common.IResource; import org.bundlemaker.core.resource.IModularizedSystem; import org.bundlemaker.core.resource.IModule; /** * <p> * </p> * * <p> * Clients may implement this interface. * </p> * * @author Gerd Wütherich (gerd@gerd-wuetherich.de) */ public interface ITemplateProvider<T> { /** * <p> * </p> * * @param module * @param modularizedSystem * @param context * @return */ T getTemplate(IModule module, IModularizedSystem modularizedSystem, IModuleExporterContext context); /** * <p> * </p> * * @param currentModule * @param currentModularizedSystem * @param currentContext * @return */ Set<IResource> getAdditionalResources(IModule currentModule, IModularizedSystem currentModularizedSystem, IModuleExporterContext currentContext); }