/* * 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.test.runner.api; import static org.mule.runtime.api.util.Preconditions.checkNotNull; import java.net.URL; import java.util.List; /** * Defines the list of URLS for each class loader that would be created in order to run the test. It is the result of * {@link ClassPathClassifier}. * * @since 4.0 */ public class ArtifactsUrlClassification { private final List<URL> containerUrls; private final List<ArtifactUrlClassification> serviceUrlClassifications; private final List<URL> pluginSharedLibUrls; private final List<PluginUrlClassification> pluginUrlClassifications; private final List<URL> applicationUrls; /** * Creates a instance with the list of {@link URL}s classified in container, plugins and application. * * @param containerUrls list of {@link URL} that define the artifacts that would be loaded with the container * {@link ClassLoader}. Not null. * @param serviceUrlClassifications for each plugin discovered a list of {@link ArtifactUrlClassification} that defines the * artifact that would be loaded by the service {@link ClassLoader}. Not null. * @param pluginSharedLibUrls of {@link URL} that define the artifacts that would be loaded with the shareLib * {@link ClassLoader} * @param pluginUrlClassifications for each plugin discovered a list of {@link PluginUrlClassification} that defines the * artifact that would be loaded by the plugin {@link ClassLoader}. Not null. * @param applicationUrls list of {@link URL} that define the artifacts that would be loaded with the application * {@link ClassLoader}. Not null. */ public ArtifactsUrlClassification(List<URL> containerUrls, List<ArtifactUrlClassification> serviceUrlClassifications, List<URL> pluginSharedLibUrls, List<PluginUrlClassification> pluginUrlClassifications, List<URL> applicationUrls) { checkNotNull(containerUrls, "containerUrls cannot be null"); checkNotNull(serviceUrlClassifications, "serviceUrlClassifications cannot be null"); checkNotNull(pluginSharedLibUrls, "pluginSharedLibUrls cannot be null"); checkNotNull(pluginUrlClassifications, "pluginUrlClassifications cannot be null"); checkNotNull(applicationUrls, "applicationUrls cannot be null"); this.containerUrls = containerUrls; this.serviceUrlClassifications = serviceUrlClassifications; this.pluginSharedLibUrls = pluginSharedLibUrls; this.pluginUrlClassifications = pluginUrlClassifications; this.applicationUrls = applicationUrls; } public List<URL> getContainerUrls() { return containerUrls; } public List<ArtifactUrlClassification> getServiceUrlClassifications() { return serviceUrlClassifications; } public List<URL> getPluginSharedLibUrls() { return pluginSharedLibUrls; } public List<PluginUrlClassification> getPluginUrlClassifications() { return pluginUrlClassifications; } public List<URL> getApplicationUrls() { return applicationUrls; } }