public class DefaultModuleDefinition extends java.lang.Object implements ModuleDefinition
ModuleDefinition
implementation that picks up most of the module
properties from the manifest file of the jar, as baked in by
the hk2-maven-plugin.Modifier and Type | Field and Description |
---|---|
protected java.util.List<java.net.URI> |
classPath |
protected java.util.List<ModuleDependency> |
dependencies |
private static java.util.jar.Manifest |
EMPTY_MANIFEST |
private java.lang.String |
importPolicy |
private java.lang.String |
lifecyclePolicy |
private static java.util.logging.Logger |
LOGGER |
protected java.util.jar.Attributes |
mainAttributes
Main attributes section of the manifest.
|
private java.util.jar.Manifest |
manifest |
private ModuleMetadata |
metadata
Metadata that works like index.
|
private java.lang.String |
name |
private java.lang.String[] |
publicPkgs |
private java.lang.String |
version |
Constructor and Description |
---|
DefaultModuleDefinition(java.io.File location)
TO DO need to support a URI constructor
|
DefaultModuleDefinition(java.io.File location,
java.util.jar.Attributes attr) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
decorateClassPath(java.lang.String classpathElement)
Extension point to manipulate the classpath element before it's parsed.
|
ModuleDependency[] |
getDependencies()
Returns the list of module dependencies
|
java.lang.String |
getImportPolicyClassName()
Returns the class name implementing the
ImportPolicy interface for this module or
null if there is no such implementation |
java.lang.String |
getLifecyclePolicyClassName()
Returns the class name implementing the
LifecyclePolicy interface for this module or
null if there is no such implementation |
java.net.URI[] |
getLocations()
Returns the list of URI locations forming the classpath for this module.
|
java.util.jar.Manifest |
getManifest()
Returns the manifest file from the module's implementation jar file
|
ModuleMetadata |
getMetadata()
Gets the metadata that describes various components and services in this module.
|
java.lang.String |
getName()
Returns the name of the module
|
java.lang.String[] |
getPublicInterfaces()
Returns the list of classes and packages that have been designated as
public interfaces of this module.
|
java.lang.String |
getVersion()
Returns the module's version
|
protected void |
parseAttributes(java.util.jar.Attributes attr)
Extensibility point to parse more information from Manifest attributes.
|
protected void |
parseClassPath(java.util.jar.Attributes attr,
java.net.URI baseURI)
Parses from manifest attributes
and updates URI list.
|
private boolean |
testClassPath(java.net.URI uri)
Optional error diagnostics performed during the development time
to check if the URL pointed by the path actually exists.
|
java.lang.String |
toString()
Assists debugging.
|
private final java.lang.String name
private final java.lang.String version
private final java.lang.String[] publicPkgs
protected final java.util.List<ModuleDependency> dependencies
protected final java.util.List<java.net.URI> classPath
private final java.lang.String importPolicy
private final java.lang.String lifecyclePolicy
private final java.util.jar.Manifest manifest
protected final java.util.jar.Attributes mainAttributes
private final ModuleMetadata metadata
private static final java.util.jar.Manifest EMPTY_MANIFEST
private static final java.util.logging.Logger LOGGER
public DefaultModuleDefinition(java.io.File location) throws java.io.IOException
java.io.IOException
public DefaultModuleDefinition(java.io.File location, java.util.jar.Attributes attr) throws java.io.IOException
java.io.IOException
protected void parseClassPath(java.util.jar.Attributes attr, java.net.URI baseURI) throws java.io.IOException
java.io.IOException
private boolean testClassPath(java.net.URI uri)
protected java.lang.String decorateClassPath(java.lang.String classpathElement)
parseClassPath(Attributes,URI)
protected void parseAttributes(java.util.jar.Attributes attr)
attr
- Main attributes of the manifest. Always non-null.public java.lang.String getName()
getName
in interface ModuleDefinition
public java.lang.String[] getPublicInterfaces()
getPublicInterfaces
in interface ModuleDefinition
public ModuleDependency[] getDependencies()
getDependencies
in interface ModuleDefinition
public java.net.URI[] getLocations()
getLocations
in interface ModuleDefinition
public java.lang.String getVersion()
getVersion
in interface ModuleDefinition
public java.lang.String getImportPolicyClassName()
ImportPolicy
interface for this module or
null if there is no such implementationgetImportPolicyClassName
in interface ModuleDefinition
ImportPolicy
implementation class namepublic java.lang.String getLifecyclePolicyClassName()
LifecyclePolicy
interface for this module or
null if there is no such implementationgetLifecyclePolicyClassName
in interface ModuleDefinition
LifecyclePolicy
implementation class namepublic java.util.jar.Manifest getManifest()
getManifest
in interface ModuleDefinition
public ModuleMetadata getMetadata()
ModuleDefinition
getMetadata
in interface ModuleDefinition
public java.lang.String toString()
toString
in class java.lang.Object