Package org.apache.maven.classrealm
Class DefaultClassRealmManager
- java.lang.Object
-
- org.apache.maven.classrealm.DefaultClassRealmManager
-
- All Implemented Interfaces:
ClassRealmManager
@Named @Singleton public class DefaultClassRealmManager extends Object implements ClassRealmManager
Manages the class realms used by Maven. Warning: This is an internal utility class that is only public for technical reasons, it is not part of the public API. In particular, this class can be changed or deleted without prior notice.- Author:
- Benjamin Bentmann
-
-
Field Summary
Fields Modifier and Type Field Description static String
API_REALMID
-
Constructor Summary
Constructors Constructor Description DefaultClassRealmManager(org.codehaus.plexus.logging.Logger logger, org.codehaus.plexus.PlexusContainer container, List<ClassRealmManagerDelegate> delegates, CoreExports exports)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.codehaus.plexus.classworlds.realm.ClassRealm
createExtensionRealm(Plugin plugin, List<org.eclipse.aether.artifact.Artifact> artifacts)
Creates a new class realm for the specified build extension.org.codehaus.plexus.classworlds.realm.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.org.codehaus.plexus.classworlds.realm.ClassRealm
createProjectRealm(Model model, List<org.eclipse.aether.artifact.Artifact> artifacts)
Creates a new class realm for the specified project and its build extensions.org.codehaus.plexus.classworlds.realm.ClassRealm
getCoreRealm()
Gets the class realm hosting the Maven core.org.codehaus.plexus.classworlds.realm.ClassRealm
getMavenApiRealm()
Gets the class realm exposing the Maven API.
-
-
-
Field Detail
-
API_REALMID
public static final String API_REALMID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultClassRealmManager
@Inject public DefaultClassRealmManager(org.codehaus.plexus.logging.Logger logger, org.codehaus.plexus.PlexusContainer container, List<ClassRealmManagerDelegate> delegates, CoreExports exports)
-
-
Method Detail
-
getMavenApiRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getMavenApiRealm()
Description copied from interface:ClassRealmManager
Gets the class realm exposing the Maven API. This is basically a restricted view on the Maven core realm.- Specified by:
getMavenApiRealm
in interfaceClassRealmManager
- Returns:
- The class realm exposing the Maven API, never
null
.
-
getCoreRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getCoreRealm()
Description copied from interface:ClassRealmManager
Gets the class realm hosting the Maven core.- Specified by:
getCoreRealm
in interfaceClassRealmManager
- Returns:
- The class realm hosting the Maven core, never
null
.
-
createProjectRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm createProjectRealm(Model model, List<org.eclipse.aether.artifact.Artifact> artifacts)
Description copied from interface:ClassRealmManager
Creates a new class realm for the specified project and its build extensions.- Specified by:
createProjectRealm
in interfaceClassRealmManager
- Parameters:
model
- The model of the project for which to create a realm, must not benull
.artifacts
- The artifacts to add to the class realm, may benull
. Unresolved artifacts (i.e. with a missing file) will automatically be excluded from the realm.- Returns:
- The new project realm, never
null
.
-
createExtensionRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm createExtensionRealm(Plugin plugin, List<org.eclipse.aether.artifact.Artifact> artifacts)
Description copied from interface:ClassRealmManager
Creates a new class realm for the specified build extension.- Specified by:
createExtensionRealm
in interfaceClassRealmManager
- Parameters:
plugin
- The extension plugin for which to create a realm, must not benull
.artifacts
- The artifacts to add to the class realm, may benull
. Unresolved artifacts (i.e. with a missing file) will automatically be excluded from the realm.- Returns:
- The new extension realm, never
null
.
-
createPluginRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm createPluginRealm(Plugin plugin, ClassLoader parent, List<String> parentImports, Map<String,ClassLoader> foreignImports, List<org.eclipse.aether.artifact.Artifact> artifacts)
Description copied from interface:ClassRealmManager
Creates a new class realm for the specified plugin.- Specified by:
createPluginRealm
in interfaceClassRealmManager
- Parameters:
plugin
- The plugin for which to create a realm, must not benull
.parent
- The parent realm for the new realm, may benull
.parentImports
- The packages/types to import from the parent realm, may benull
.foreignImports
- The packages/types to import from foreign realms, may benull
.artifacts
- The artifacts to add to the class realm, may benull
. Unresolved artifacts (i.e. with a missing file) will automatically be excluded from the realm.- Returns:
- The new plugin realm, never
null
.
-
-