public class ArtifactIsolatedClassLoaderBuilder extends Object
ClassPathUrlProvider: defines the initial classpath to be classified, it consists in a List of
URL'sClassPathClassifier: classifies the classpath URLs and builds the List or URLs for each
ClassLoaderArtifactClassLoaderHolder that references the
ArtifactClassLoader for the application, plugins and container.| Constructor and Description |
|---|
ArtifactIsolatedClassLoaderBuilder() |
| Modifier and Type | Method and Description |
|---|---|
ArtifactClassLoaderHolder |
build()
Builds the
ArtifactClassLoaderHolder with the
ArtifactClassLoaders for application, plugins and container. |
ArtifactIsolatedClassLoaderBuilder |
setApplicationUrls(List<URL> applicationUrls)
|
ArtifactIsolatedClassLoaderBuilder |
setClassPathClassifier(ClassPathClassifier classPathClassifier)
Sets the
ClassPathClassifier implementation to be used by the builder. |
ArtifactIsolatedClassLoaderBuilder |
setClassPathUrlProvider(ClassPathUrlProvider classPathUrlProvider)
Sets the
ClassPathUrlProvider implementation to be used by the builder. |
ArtifactIsolatedClassLoaderBuilder |
setExcludedArtifacts(List<String> excludedArtifacts)
Sets the Maven artifacts to be excluded from artifact class loaders created here due to they are going to be added as boot
packages.
|
ArtifactIsolatedClassLoaderBuilder |
setExportPluginClasses(List<Class> exportPluginClasses)
|
ArtifactIsolatedClassLoaderBuilder |
setExtensionMetadataGeneration(boolean extensionMetadataGenerationEnabled)
Sets to
true if while building the a plugin ArtifactClassLoader
for an Extension the metadata should be generated. |
ArtifactIsolatedClassLoaderBuilder |
setExtraBootPackages(List<String> extraBootPackages)
|
ArtifactIsolatedClassLoaderBuilder |
setPluginCoordinates(List<String> pluginCoordinates)
Sets the
List of Maven coordinates in format <groupId>:<artifactId> in order to create plugin
ArtifactClassLoaders |
ArtifactIsolatedClassLoaderBuilder |
setPluginResourcesFolder(File pluginResourcesFolder)
Sets the
File where resources for classification will be created. |
ArtifactIsolatedClassLoaderBuilder |
setProvidedExclusions(List<String> providedExclusions)
Sets Maven artifacts to be excluded from the
provided scope direct dependencies of the rootArtifact. |
ArtifactIsolatedClassLoaderBuilder |
setProvidedInclusions(List<String> providedInclusions)
Sets Maven artifacts to be explicitly included from the
provided scope direct dependencies of the rootArtifact. |
ArtifactIsolatedClassLoaderBuilder |
setRootArtifactClassesFolder(File rootArtifactClassesFolder)
Sets the
File rootArtifactClassesFolder to be used by the classification process. |
ArtifactIsolatedClassLoaderBuilder |
setSharedPluginLibCoordinates(List<String> sharedPluginLibCoordinates)
Sets the
List of Maven coordinates in format <groupId>:<artifactId> in order to be
added to the sharedLib ArtifactClassLoader |
ArtifactIsolatedClassLoaderBuilder |
setTestExclusions(List<String> testExclusions)
Sets the
List of exclusion Maven coordinates to be excluded from test dependencies of rootArtifact. |
ArtifactIsolatedClassLoaderBuilder |
setTestInclusions(List<String> testInclusions)
Sets the
List of inclusion Maven coordinates to be included from test dependencies of rootArtifact. |
public ArtifactIsolatedClassLoaderBuilder setPluginCoordinates(List<String> pluginCoordinates)
List of Maven coordinates in format <groupId>:<artifactId> in order to create plugin
ArtifactClassLoaderspluginCoordinates - List of Maven coordinates in format <groupId>:<artifactId>public ArtifactIsolatedClassLoaderBuilder setSharedPluginLibCoordinates(List<String> sharedPluginLibCoordinates)
List of Maven coordinates in format <groupId>:<artifactId> in order to be
added to the sharedLib ArtifactClassLoadersharedPluginLibCoordinates - List of Maven coordinates in format <groupId>:<artifactId>public ArtifactIsolatedClassLoaderBuilder setClassPathClassifier(ClassPathClassifier classPathClassifier)
ClassPathClassifier implementation to be used by the builder.classPathClassifier - ClassPathClassifier implementation to be used by the builder.public ArtifactIsolatedClassLoaderBuilder setClassPathUrlProvider(ClassPathUrlProvider classPathUrlProvider)
ClassPathUrlProvider implementation to be used by the builder.classPathUrlProvider - ClassPathUrlProvider implementation to be used by the builder.public ArtifactIsolatedClassLoaderBuilder setRootArtifactClassesFolder(File rootArtifactClassesFolder)
File rootArtifactClassesFolder to be used by the classification process.rootArtifactClassesFolder - File rootArtifactClassesFolder to be used by the classification process.public ArtifactIsolatedClassLoaderBuilder setPluginResourcesFolder(File pluginResourcesFolder)
File where resources for classification will be created.pluginResourcesFolder - File where resources for classification will be created.public ArtifactIsolatedClassLoaderBuilder setExcludedArtifacts(List<String> excludedArtifacts)
[groupId]:[artifactId]:[extension]:[classifier]:[version].excludedArtifacts - Maven artifacts to be excluded from artifact class loaders created here due to they are going to be
added as boot packages. In format [groupId]:[artifactId]:[extension]:[classifier]:[version].public ArtifactIsolatedClassLoaderBuilder setExtraBootPackages(List<String> extraBootPackages)
public ArtifactIsolatedClassLoaderBuilder setProvidedExclusions(List<String> providedExclusions)
provided scope direct dependencies of the rootArtifact. In format
[groupId]:[artifactId]:[extension]:[classifier]:[version].
setPluginCoordinates(List) Maven artifacts if declared will be considered to be excluded from being added as
provided due to they are going to be added to its class loaders.providedExclusions - Maven artifacts to be excluded from the provided scope direct dependencies of the
rootArtifact. In format [groupId]:[artifactId]:[extension]:[classifier]:[version].public ArtifactIsolatedClassLoaderBuilder setProvidedInclusions(List<String> providedInclusions)
provided scope direct dependencies of the rootArtifact. In
format [groupId]:[artifactId]:[extension]:[classifier]:[version].
This artifacts have to be declared as provided scope in rootArtifact direct dependencies and no matter if they were
excluded or not from setProvidedExclusions(List) and setPluginCoordinates(List). Meaning that the same
artifact could ended up being added to the container class loader and as plugin.providedInclusions - public ArtifactIsolatedClassLoaderBuilder setTestExclusions(List<String> testExclusions)
List of exclusion Maven coordinates to be excluded from test dependencies of rootArtifact. In format
[groupId]:[artifactId]:[extension]:[classifier]:[version].testExclusions - List of exclusion Maven coordinates to be excluded from test dependencies of rootArtifact. In
format [groupId]:[artifactId]:[extension]:[classifier]:[version].public ArtifactIsolatedClassLoaderBuilder setTestInclusions(List<String> testInclusions)
List of inclusion Maven coordinates to be included from test dependencies of rootArtifact. In format
[groupId]:[artifactId]:[extension]:[classifier]:[version].testInclusions - List of inclusion Maven coordinates to be excluded from test dependencies of rootArtifact. In
format [groupId]:[artifactId]:[extension]:[classifier]:[version].public ArtifactIsolatedClassLoaderBuilder setExportPluginClasses(List<Class> exportPluginClasses)
List of Classes to be exported by rootArtifact (if it is a Mule plugin) in addition to their APIs,
for testing purposes only.exportPluginClasses - of Classes to be exported by rootArtifact (if it is a Mule plugin) in addition to their APIs,
for testing purposes only.public ArtifactIsolatedClassLoaderBuilder setExtensionMetadataGeneration(boolean extensionMetadataGenerationEnabled)
true if while building the a plugin ArtifactClassLoader
for an Extension the metadata should be generated.extensionMetadataGenerationEnabled - boolean to enable Extension metadata generation.public ArtifactIsolatedClassLoaderBuilder setApplicationUrls(List<URL> applicationUrls)
List of URLs to be appended to the application
ArtifactClassLoader in addition to the ones classified.{@link - List} of URLs to be appended to the application
ArtifactClassLoader in addition to the ones classified.public ArtifactClassLoaderHolder build()
ArtifactClassLoaderHolder with the
ArtifactClassLoaders for application, plugins and container.ArtifactClassLoaderHolder as output of the classification process.{@link - IOException} if there was an error while creating the classification context{@link - NullPointerException} if any of the required attributes is not set to this builderCopyright © 2003–2017 MuleSoft, Inc.. All rights reserved.