Class DefaultModuleDefinition

    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultModuleDefinition​(java.io.File location)
      TO DO need to support a URI constructor
      DefaultModuleDefinition​(java.io.File location, java.util.jar.Attributes attr)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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 "Class-Path" 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • name

        private final java.lang.String name
      • version

        private final java.lang.String version
      • publicPkgs

        private final java.lang.String[] publicPkgs
      • classPath

        protected final java.util.List<java.net.URI> classPath
      • importPolicy

        private final java.lang.String importPolicy
      • lifecyclePolicy

        private final java.lang.String lifecyclePolicy
      • manifest

        private final java.util.jar.Manifest manifest
      • mainAttributes

        protected final java.util.jar.Attributes mainAttributes
        Main attributes section of the manifest. Always non-null.
      • metadata

        private final ModuleMetadata metadata
        Metadata that works like index.
      • EMPTY_MANIFEST

        private static final java.util.jar.Manifest EMPTY_MANIFEST
      • LOGGER

        private static final java.util.logging.Logger LOGGER
    • Constructor Detail

      • DefaultModuleDefinition

        public DefaultModuleDefinition​(java.io.File location)
                                throws java.io.IOException
        TO DO need to support a URI constructor
        Throws:
        java.io.IOException
      • DefaultModuleDefinition

        public DefaultModuleDefinition​(java.io.File location,
                                       java.util.jar.Attributes attr)
                                throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • parseClassPath

        protected void parseClassPath​(java.util.jar.Attributes attr,
                                      java.net.URI baseURI)
                               throws java.io.IOException
        Parses "Class-Path" from manifest attributes and updates URI list.
        Throws:
        java.io.IOException
      • testClassPath

        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.
      • decorateClassPath

        protected java.lang.String decorateClassPath​(java.lang.String classpathElement)
        Extension point to manipulate the classpath element before it's parsed.
        See Also:
        parseClassPath(Attributes,URI)
      • parseAttributes

        protected void parseAttributes​(java.util.jar.Attributes attr)
        Extensibility point to parse more information from Manifest attributes.
        Parameters:
        attr - Main attributes of the manifest. Always non-null.
      • getName

        public java.lang.String getName()
        Returns the name of the module
        Specified by:
        getName in interface ModuleDefinition
        Returns:
        the name
      • getPublicInterfaces

        public java.lang.String[] getPublicInterfaces()
        Returns the list of classes and packages that have been designated as public interfaces of this module.
        Specified by:
        getPublicInterfaces in interface ModuleDefinition
        Returns:
        the list of public packages or classes
      • getLocations

        public java.net.URI[] getLocations()
        Returns the list of URI locations forming the classpath for this module.
        Specified by:
        getLocations in interface ModuleDefinition
        Returns:
        the list of URI locations for this module
      • getVersion

        public java.lang.String getVersion()
        Returns the module's version
        Specified by:
        getVersion in interface ModuleDefinition
        Returns:
        the module's version
      • getImportPolicyClassName

        public java.lang.String getImportPolicyClassName()
        Returns the class name implementing the ImportPolicy interface for this module or null if there is no such implementation
        Specified by:
        getImportPolicyClassName in interface ModuleDefinition
        Returns:
        the ImportPolicy implementation class name
      • getManifest

        public java.util.jar.Manifest getManifest()
        Returns the manifest file from the module's implementation jar file
        Specified by:
        getManifest in interface ModuleDefinition
        Returns:
        never null.
      • toString

        public java.lang.String toString()
        Assists debugging.
        Overrides:
        toString in class java.lang.Object