/** * */ package vnet.sms.common.shell.clamshellspring.internal; import static org.apache.commons.lang.Validate.notNull; import org.clamshellcli.api.Configurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Required; /** * @author obergner * */ public class StaticContextFactory { private final Logger log = LoggerFactory.getLogger(getClass()); private Configurator configuration; private PluginRegistry pluginRegistry; private CommandRegistry commandRegistry; public StaticContext newContext() { final StaticContext newContext = new StaticContext(this.configuration, this.pluginRegistry, this.commandRegistry); this.log.info("Created new StaticContext {}", newContext); return newContext; } /** * @param configuration * the configuration to set */ @Required public final void setConfiguration(final Configurator configuration) { notNull(configuration, "Argument 'configuration' must not be null"); this.configuration = configuration; } /** * @param pluginRegistry * the pluginRegistry to set */ @Required public final void setPluginRegistry(final PluginRegistry pluginRegistry) { notNull(pluginRegistry, "Argument 'pluginRegistry' must not be null"); this.pluginRegistry = pluginRegistry; } /** * @param commandRegistry * the commandRegistry to set */ @Required public final void setCommandRegistry(final CommandRegistry commandRegistry) { notNull(commandRegistry, "Argument 'commandRegistry' must not be null"); this.commandRegistry = commandRegistry; } }