@Named @Singleton public class DefaultClassRealmManager extends Object implements ClassRealmManager
Modifier and Type | Field and Description |
---|---|
static String |
API_REALMID |
Constructor and Description |
---|
DefaultClassRealmManager(Logger logger,
PlexusContainer container,
List<ClassRealmManagerDelegate> delegates,
CoreExportsProvider exports) |
Modifier and Type | Method and Description |
---|---|
ClassRealm |
createExtensionRealm(Plugin plugin,
List<org.eclipse.aether.artifact.Artifact> artifacts)
Creates a new class realm for the specified build extension.
|
ClassRealm |
createPluginRealm(Plugin plugin,
ClassLoader parent,
List<String> parentImports,
Map<String,ClassLoader> foreignImports,
List<org.eclipse.aether.artifact.Artifact> artifacts)
Creates a new class realm for the specified plugin.
|
ClassRealm |
createProjectRealm(Model model,
List<org.eclipse.aether.artifact.Artifact> artifacts)
Creates a new class realm for the specified project and its build extensions.
|
ClassRealm |
getCoreRealm()
Gets the class realm hosting the Maven core.
|
ClassRealm |
getMavenApiRealm()
Gets the class realm exposing the Maven API.
|
public static final String API_REALMID
@Inject public DefaultClassRealmManager(Logger logger, PlexusContainer container, List<ClassRealmManagerDelegate> delegates, CoreExportsProvider exports)
public ClassRealm getMavenApiRealm()
ClassRealmManager
getMavenApiRealm
in interface ClassRealmManager
null
.public ClassRealm getCoreRealm()
ClassRealmManager
getCoreRealm
in interface ClassRealmManager
null
.public ClassRealm createProjectRealm(Model model, List<org.eclipse.aether.artifact.Artifact> artifacts)
ClassRealmManager
createProjectRealm
in interface ClassRealmManager
model
- The model of the project for which to create a realm, must not be null
.artifacts
- The artifacts to add to the class realm, may be null
. Unresolved artifacts (i.e. with a
missing file) will automatically be excluded from the realm.null
.public ClassRealm createExtensionRealm(Plugin plugin, List<org.eclipse.aether.artifact.Artifact> artifacts)
ClassRealmManager
createExtensionRealm
in interface ClassRealmManager
plugin
- The extension plugin for which to create a realm, must not be null
.artifacts
- The artifacts to add to the class realm, may be null
. Unresolved artifacts (i.e. with a
missing file) will automatically be excluded from the realm.null
.public ClassRealm createPluginRealm(Plugin plugin, ClassLoader parent, List<String> parentImports, Map<String,ClassLoader> foreignImports, List<org.eclipse.aether.artifact.Artifact> artifacts)
ClassRealmManager
createPluginRealm
in interface ClassRealmManager
plugin
- The plugin for which to create a realm, must not be null
.parent
- The parent realm for the new realm, may be null
.parentImports
- The packages/types to import from the parent realm, may be null
.foreignImports
- The packages/types to import from foreign realms, may be null
.artifacts
- The artifacts to add to the class realm, may be null
. Unresolved artifacts (i.e. with a
missing file) will automatically be excluded from the realm.null
.Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.