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