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.

  • Field Details

  • Constructor Details

  • Method Details

    • readFully

      private static byte[] readFully(URL url) throws IOException
      Throws:
      IOException
    • 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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      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 interface ModuleDefinition
      Returns:
      Always non-null.
    • generate

      protected Manifest generate(ModuleMetadata metadata)
    • ok

      private static boolean ok(String s)
    • ok

      private static boolean ok(String[] ss)