/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.module.extension.internal.runtime.exception; import static org.mule.runtime.api.i18n.I18nMessageFactory.createStaticMessage; import org.mule.runtime.api.exception.MuleRuntimeException; import org.mule.runtime.api.meta.model.ExtensionModel; import org.mule.runtime.api.meta.model.config.ConfigurationModel; /** * Exception to signal that too many configs are eligible for executing a component and thus the user should manually select one * * @since 4.0 */ public class TooManyConfigsException extends MuleRuntimeException { private final ExtensionModel extensionModel; private final ConfigurationModel configurationModel; private final int configsCount; public TooManyConfigsException(String message, ExtensionModel extensionModel, ConfigurationModel configurationModel, int configsCount) { super(createStaticMessage(message)); this.extensionModel = extensionModel; this.configurationModel = configurationModel; this.configsCount = configsCount; } public ExtensionModel getExtensionModel() { return extensionModel; } public ConfigurationModel getConfigurationModel() { return configurationModel; } public int getConfigsCount() { return configsCount; } }