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 $
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassPool
classpool
The default class poolprotected ScopedClassPoolFactory
factory
The factory for creating class poolsprivate static ScopedClassPoolRepositoryImpl
instance
The instanceprivate boolean
prune
Whether to prune(package private) boolean
pruneWhenCached
Whether to prune when added to the classpool's cacheprotected java.util.Map<java.lang.ClassLoader,ScopedClassPool>
registeredCLs
The registered classloaders
-
Constructor Summary
Constructors Modifier Constructor Description private
ScopedClassPoolRepositoryImpl()
Singleton.
-
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
-
instance
private static final ScopedClassPoolRepositoryImpl instance
The instance
-
prune
private boolean prune
Whether to prune
-
pruneWhenCached
boolean pruneWhenCached
Whether to prune when added to the classpool's cache
-
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
-
-