org.jboss.classloading.spi.dependency.policy
Class ClassLoaderPolicyModule

java.lang.Object
  extended by org.jboss.classloading.spi.helpers.NameAndVersionSupport
      extended by org.jboss.classloading.spi.dependency.Module
          extended by org.jboss.classloading.spi.dependency.helpers.ClassLoadingMetaDataModule
              extended by org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
MockClassLoaderPolicyModule, VFSClassLoaderPolicyModule

public abstract class ClassLoaderPolicyModule
extends ClassLoadingMetaDataModule

ClassLoaderPolicyModule.

Version:
$Revision: 1.1 $
Author:
Adrian Brock
See Also:
Serialized Form

Constructor Summary
ClassLoaderPolicyModule(ClassLoadingMetaData classLoadingMetaData, String contextName)
          Create a new ClassLoaderPolicyModule.
 
Method Summary
 DelegateLoader createLazyDelegateLoader(Domain domain, RequirementDependencyItem item)
          Create a lazy delegate loader
protected abstract  ClassLoaderPolicy determinePolicy()
          Determine the classloader policy
protected  ClassLoader getClassLoader()
          Get the classloader for this module
protected  ClassLoader getClassLoaderForClass(String className)
          Get the classloader for a class name
 DelegateLoader getDelegateLoader(Module requiringModule, Requirement requirement)
          Get the delegate loader
 ClassLoaderPolicy getPolicy()
          Get the policy
 ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system)
          Register the classloader policy with a classloader system
 ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system, ClassLoader parent)
          Register the classloader policy with a classloader system
 ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system, Loader loader)
          Register the classloader policy with a classloader system
 void removeClassLoader()
           
 void reset()
          Reset the module
 
Methods inherited from class org.jboss.classloading.spi.dependency.helpers.ClassLoadingMetaDataModule
determineCapabilities, determineRequirements, getClassLoadingMetaData, getDomainName, getExcluded, getExcludedExport, getExportAll, getIncluded, getParentDomainName, isBlackListable, isCacheable, isImportAll, isJ2seClassLoadingCompliance
 
Methods inherited from class org.jboss.classloading.spi.dependency.Module
addDelegates, addIDependOn, createDependencies, defaultCapabilities, determinePackageNames, equals, getCapabilities, getClassLoaderState, getContextName, getControllerContext, getDelegates, getDeterminedDomainName, getDeterminedParentDomainName, getDeterminedParentPolicy, getDynamicClassRoot, getModuleForClass, getPackageNames, getRequirementDependencyItems, getRequirements, getResource, getResources, isValid, loadClass, registerModuleClassLoader, release, removeDependencies, removeIDependOn, resolveModule, setControllerContext, unregisterModuleClassLoader, visit, visit, visit
 
Methods inherited from class org.jboss.classloading.spi.helpers.NameAndVersionSupport
clone, getName, getTheVersion, getVersion, hashCode, setName, setTheVersion, setVersion, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassLoaderPolicyModule

public ClassLoaderPolicyModule(ClassLoadingMetaData classLoadingMetaData,
                               String contextName)
Create a new ClassLoaderPolicyModule.

Parameters:
classLoadingMetaData - the classloading metadata
contextName - the context name
Method Detail

getClassLoaderForClass

protected ClassLoader getClassLoaderForClass(String className)
                                      throws ClassNotFoundException
Description copied from class: Module
Get the classloader for a class name

Overrides:
getClassLoaderForClass in class Module
Parameters:
className - the class name
Returns:
the class
Throws:
ClassNotFoundException - when the class is not found

registerClassLoaderPolicy

public ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system)
Register the classloader policy with a classloader system

Parameters:
system - the classloader system
Returns:
the classloader

registerClassLoaderPolicy

public ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system,
                                             ClassLoader parent)
Register the classloader policy with a classloader system

Parameters:
system - the classloader system
parent - the parent classloader
Returns:
the classloader

registerClassLoaderPolicy

public ClassLoader registerClassLoaderPolicy(ClassLoaderSystem system,
                                             Loader loader)
Register the classloader policy with a classloader system

Parameters:
system - the classloader system
loader - the parent loader
Returns:
the classloader

getPolicy

public ClassLoaderPolicy getPolicy()
Get the policy

Returns:
the policy

removeClassLoader

public void removeClassLoader()

determinePolicy

protected abstract ClassLoaderPolicy determinePolicy()
Determine the classloader policy

Returns:
the policy

getClassLoader

protected ClassLoader getClassLoader()
Description copied from class: Module
Get the classloader for this module

Overrides:
getClassLoader in class Module
Returns:
the classloader

createLazyDelegateLoader

public DelegateLoader createLazyDelegateLoader(Domain domain,
                                               RequirementDependencyItem item)
Description copied from class: Module
Create a lazy delegate loader

Specified by:
createLazyDelegateLoader in class Module
Parameters:
domain - the domain
item - the dependency item
Returns:
the delegate loader

getDelegateLoader

public DelegateLoader getDelegateLoader(Module requiringModule,
                                        Requirement requirement)
Description copied from class: Module
Get the delegate loader

Specified by:
getDelegateLoader in class Module
Parameters:
requiringModule - the requiring module
requirement - the requirement
Returns:
the delegate loader

reset

public void reset()
Description copied from class: Module
Reset the module

Overrides:
reset in class Module


Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.