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.CloseableA collection ofClassRealms, 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 voidaddListener(ClassWorldListener listener)voidclose()Closes all contained class realms.voiddisposeRealm(java.lang.String id)ClassRealmgetClassRealm(java.lang.String id)ClassRealmgetRealm(java.lang.String id)java.util.Collection<ClassRealm>getRealms()ClassRealmnewRealm(java.lang.String id)ClassRealmnewRealm(java.lang.String id, java.lang.ClassLoader classLoader)ClassRealmnewRealm(java.lang.String id, java.lang.ClassLoader classLoader, java.util.function.Predicate<java.lang.String> filter)Adds a class realm with filtering.voidremoveListener(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 benullto 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.IOExceptionCloses all contained class realms.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein 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)
-
-