Package org.codehaus.plexus.classworlds
Class ClassWorld
- java.lang.Object
-
- org.codehaus.plexus.classworlds.ClassWorld
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
ClassWorldReverseAdapter
public class ClassWorld extends java.lang.Object implements java.io.Closeable
A collection ofClassRealm
s, indexed by id.- Author:
- bob mcwhirter
-
-
Constructor Summary
Constructors Constructor Description ClassWorld()
ClassWorld(java.lang.String realmId, java.lang.ClassLoader classLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(ClassWorldListener listener)
void
close()
Closes all contained class realms.void
disposeRealm(java.lang.String id)
ClassRealm
getClassRealm(java.lang.String id)
ClassRealm
getRealm(java.lang.String id)
java.util.Collection<ClassRealm>
getRealms()
ClassRealm
newRealm(java.lang.String id)
ClassRealm
newRealm(java.lang.String id, java.lang.ClassLoader classLoader)
ClassRealm
newRealm(java.lang.String id, java.lang.ClassLoader classLoader, java.util.function.Predicate<java.lang.String> filter)
Adds a class realm with filtering.void
removeListener(ClassWorldListener listener)
-
-
-
Method Detail
-
newRealm
public ClassRealm newRealm(java.lang.String id) throws DuplicateRealmException
- Throws:
DuplicateRealmException
-
newRealm
public ClassRealm newRealm(java.lang.String id, java.lang.ClassLoader classLoader) throws DuplicateRealmException
- Throws:
DuplicateRealmException
-
newRealm
public ClassRealm newRealm(java.lang.String id, java.lang.ClassLoader classLoader, java.util.function.Predicate<java.lang.String> filter) throws DuplicateRealmException
Adds a class realm with filtering. Only resources/classes whose name matches a given predicate are exposed.- Parameters:
id
- The identifier for this realm, must not benull
.classLoader
- The base class loader for this realm, may benull
to use the bootstrap class loader.filter
- a predicate to apply to each resource name to determine if it should be loaded through this class loader- Returns:
- the created class realm
- Throws:
DuplicateRealmException
- in case a realm with the given id does already exist- Since:
- 2.7.0
- See Also:
FilteredClassRealm
-
close
public void close() throws java.io.IOException
Closes all contained class realms.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
- Since:
- 2.7.0
-
disposeRealm
public void disposeRealm(java.lang.String id) throws NoSuchRealmException
- Throws:
NoSuchRealmException
-
getRealm
public ClassRealm getRealm(java.lang.String id) throws NoSuchRealmException
- Throws:
NoSuchRealmException
-
getRealms
public java.util.Collection<ClassRealm> getRealms()
-
getClassRealm
public ClassRealm getClassRealm(java.lang.String id)
-
addListener
public void addListener(ClassWorldListener listener)
-
removeListener
public void removeListener(ClassWorldListener listener)
-
-