Package com.sun.enterprise.module.single
Class ProxyModuleDefinition
- java.lang.Object
-
- com.sun.enterprise.module.single.ProxyModuleDefinition
-
- All Implemented Interfaces:
ModuleDefinition
public class ProxyModuleDefinition extends Object implements ModuleDefinition
Creates a ModuleDefinition backed up by a a single classloader. The implementation does not cache any data - everything is recalculated for each call. Callers are therefore encouraged to either supply their own caching, or minimize the calls to methods of this class.- Author:
- Jerome Dochez
-
-
Constructor Summary
Constructors Constructor Description ProxyModuleDefinition(ClassLoader classLoader)
ProxyModuleDefinition(ClassLoader classLoader, List<ManifestProxy.SeparatorMappings> mappings)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Manifest
generate(ModuleMetadata metadata)
ModuleDependency[]
getDependencies()
Returns the list of this module's dependencies.String
getImportPolicyClassName()
Returns the import policy class name.String
getLifecyclePolicyClassName()
Returns the lifecycle policy class name.URI[]
getLocations()
A Module is implemented by one to many jar files.Manifest
getManifest()
Returns the manifest file for the main module jar fileModuleMetadata
getMetadata()
Gets the metadata that describes various components and services in this module.String
getName()
Returns the module name, usually this is the same name as the jar file name containing the module's implementation.String[]
getPublicInterfaces()
Returns a list of public interfaces for this module.String
getVersion()
Returns the version of this module's implementation
-
-
-
Constructor Detail
-
ProxyModuleDefinition
public ProxyModuleDefinition(ClassLoader classLoader) throws IOException
- Throws:
IOException
-
ProxyModuleDefinition
public ProxyModuleDefinition(ClassLoader classLoader, List<ManifestProxy.SeparatorMappings> mappings) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:ModuleDefinition
Returns the module name, usually this is the same name as the jar file name containing the module's implementation.- Specified by:
getName
in interfaceModuleDefinition
- Returns:
- module name
-
getPublicInterfaces
public String[] getPublicInterfaces()
Description copied from interface:ModuleDefinition
Returns a list of public interfaces for this module. Public interface can be packages, interfaces, or classes- Specified by:
getPublicInterfaces
in interfaceModuleDefinition
- Returns:
- a array of public interfaces
-
getDependencies
public ModuleDependency[] getDependencies()
Description copied from interface:ModuleDefinition
Returns the list of this module's dependencies. Each dependency must be satisfied at run time for this module to function properly.- Specified by:
getDependencies
in interfaceModuleDefinition
- Returns:
- list of dependencies
-
getLocations
public URI[] getLocations()
Description copied from interface:ModuleDefinition
A Module is implemented by one to many jar files. This method returns the list of jar files implementing the module- Specified by:
getLocations
in interfaceModuleDefinition
- Returns:
- the module's list of implementation jars
-
getVersion
public String getVersion()
Description copied from interface:ModuleDefinition
Returns the version of this module's implementation- Specified by:
getVersion
in interfaceModuleDefinition
- Returns:
- a version number
-
getImportPolicyClassName
public String getImportPolicyClassName()
Description copied from interface:ModuleDefinition
Returns the import policy class name. Although the implementation of this policy does not necessary have to implement the ImportPolicy, but could use another interface, it is the responsibility of the associated Repository to invoke that interface when the module is started.- Specified by:
getImportPolicyClassName
in interfaceModuleDefinition
- Returns:
- Fully qualified class name that's assignable to
ImportPolicy
, or null if no import policy exists.
-
getLifecyclePolicyClassName
public String getLifecyclePolicyClassName()
Description copied from interface:ModuleDefinition
Returns the lifecycle policy class name. Although the implementation of this policy does not necessary have to implement the LifecyclePolicy, but could use another interface, it is the responsibility of the associated Repository to invoke that interface when the module is started.- Specified by:
getLifecyclePolicyClassName
in interfaceModuleDefinition
- Returns:
- Fully qualified class name that's assignable to
LifecyclePolicy
, or null if no import policy exists.
-
getManifest
public Manifest getManifest()
Description copied from interface:ModuleDefinition
Returns the manifest file for the main module jar file- Specified by:
getManifest
in interfaceModuleDefinition
- Returns:
- the manifest file
-
getMetadata
public ModuleMetadata getMetadata()
Description copied from interface:ModuleDefinition
Gets the metadata that describes various components and services in this module.- Specified by:
getMetadata
in interfaceModuleDefinition
- Returns:
- Always non-null.
-
generate
protected Manifest generate(ModuleMetadata metadata)
-
-