Package javassist.scopedpool
Class ScopedClassPoolRepositoryImpl
- java.lang.Object
-
- javassist.scopedpool.ScopedClassPoolRepositoryImpl
-
- All Implemented Interfaces:
ScopedClassPoolRepository
public class ScopedClassPoolRepositoryImpl extends java.lang.Object implements ScopedClassPoolRepository
An implementation ofScopedClassPoolRepository
. It is an singleton.- Version:
- $Revision: 1.4 $
- Author:
- Kabir Khan
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassPool
classpool
The default class poolprotected ScopedClassPoolFactory
factory
The factory for creating class poolsprotected java.util.Map<java.lang.ClassLoader,ScopedClassPool>
registeredCLs
The registered classloaders
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearUnregisteredClassLoaders()
This method will check to see if a register classloader has been undeployed (as in JBoss)ScopedClassPool
createScopedClassPool(java.lang.ClassLoader cl, ClassPool src)
Create a scoped classpool.ClassPool
findClassPool(java.lang.ClassLoader cl)
Finds a scoped classpool registered under the passed in classloader.ScopedClassPoolFactory
getClassPoolFactory()
Obtains the recorded factory.static ScopedClassPoolRepository
getInstance()
Get the instance.java.util.Map<java.lang.ClassLoader,ScopedClassPool>
getRegisteredCLs()
Get the registered classloaders.void
insertDelegate(ScopedClassPoolRepository delegate)
boolean
isPrune()
Returns the value of the prune attribute.ClassPool
registerClassLoader(java.lang.ClassLoader ucl)
Register a classloader.void
setClassPoolFactory(ScopedClassPoolFactory factory)
Records a factory.void
setPrune(boolean prune)
Set the prune attribute.void
unregisterClassLoader(java.lang.ClassLoader cl)
Unregisters a classpool and unregisters its classloader.
-
-
-
Field Detail
-
registeredCLs
protected java.util.Map<java.lang.ClassLoader,ScopedClassPool> registeredCLs
The registered classloaders
-
classpool
protected ClassPool classpool
The default class pool
-
factory
protected ScopedClassPoolFactory factory
The factory for creating class pools
-
-
Method Detail
-
getInstance
public static ScopedClassPoolRepository getInstance()
Get the instance.- Returns:
- the instance.
-
isPrune
public boolean isPrune()
Returns the value of the prune attribute.- Specified by:
isPrune
in interfaceScopedClassPoolRepository
- Returns:
- the prune.
-
setPrune
public void setPrune(boolean prune)
Set the prune attribute.- Specified by:
setPrune
in interfaceScopedClassPoolRepository
- Parameters:
prune
- a new value.
-
createScopedClassPool
public ScopedClassPool createScopedClassPool(java.lang.ClassLoader cl, ClassPool src)
Create a scoped classpool.- Specified by:
createScopedClassPool
in interfaceScopedClassPoolRepository
- Parameters:
cl
- the classloader.src
- the original classpool.- Returns:
- the classpool
-
findClassPool
public ClassPool findClassPool(java.lang.ClassLoader cl)
Description copied from interface:ScopedClassPoolRepository
Finds a scoped classpool registered under the passed in classloader.- Specified by:
findClassPool
in interfaceScopedClassPoolRepository
- Parameters:
cl
- the classloader.- Returns:
- the classpool.
-
registerClassLoader
public ClassPool registerClassLoader(java.lang.ClassLoader ucl)
Register a classloader.- Specified by:
registerClassLoader
in interfaceScopedClassPoolRepository
- Parameters:
ucl
- the classloader.- Returns:
- the classpool
-
getRegisteredCLs
public java.util.Map<java.lang.ClassLoader,ScopedClassPool> getRegisteredCLs()
Get the registered classloaders.- Specified by:
getRegisteredCLs
in interfaceScopedClassPoolRepository
- Returns:
- the registered classloaders.
-
clearUnregisteredClassLoaders
public void clearUnregisteredClassLoaders()
This method will check to see if a register classloader has been undeployed (as in JBoss)- Specified by:
clearUnregisteredClassLoaders
in interfaceScopedClassPoolRepository
-
unregisterClassLoader
public void unregisterClassLoader(java.lang.ClassLoader cl)
Description copied from interface:ScopedClassPoolRepository
Unregisters a classpool and unregisters its classloader.- Specified by:
unregisterClassLoader
in interfaceScopedClassPoolRepository
- Parameters:
cl
- the classloader the pool is stored under.
-
insertDelegate
public void insertDelegate(ScopedClassPoolRepository delegate)
-
setClassPoolFactory
public void setClassPoolFactory(ScopedClassPoolFactory factory)
Description copied from interface:ScopedClassPoolRepository
Records a factory.- Specified by:
setClassPoolFactory
in interfaceScopedClassPoolRepository
-
getClassPoolFactory
public ScopedClassPoolFactory getClassPoolFactory()
Description copied from interface:ScopedClassPoolRepository
Obtains the recorded factory.- Specified by:
getClassPoolFactory
in interfaceScopedClassPoolRepository
-
-