Class ExtensionIndexService

java.lang.Object
org.jboss.as.server.moduleservice.ExtensionIndexService
All Implemented Interfaces:
ExtensionIndex, org.jboss.msc.Service, org.jboss.msc.service.Service<ExtensionIndex>, org.jboss.msc.value.Value<ExtensionIndex>

public final class ExtensionIndexService extends Object implements org.jboss.msc.service.Service<ExtensionIndex>, ExtensionIndex
Author:
David M. Lloyd, Stuart Douglas TODO: this needs to be updated when libraries are deployed the server with extension name in the manifest
  • Field Details

  • Constructor Details

    • ExtensionIndexService

      public ExtensionIndexService(File... roots)
  • Method Details

    • start

      public void start(org.jboss.msc.service.StartContext context) throws org.jboss.msc.service.StartException
      Specified by:
      start in interface org.jboss.msc.Service
      Throws:
      org.jboss.msc.service.StartException
    • stop

      public void stop(org.jboss.msc.service.StopContext context)
      Specified by:
      stop in interface org.jboss.msc.Service
    • addDeployedExtension

      public void addDeployedExtension(org.jboss.modules.ModuleIdentifier identifier, ExtensionInfo extensionInfo)
      Adds an extension that has been deployed to the server
      Specified by:
      addDeployedExtension in interface ExtensionIndex
      Parameters:
      identifier - The module identifier of the extension
      extensionInfo - The extension data
    • addDeployedExtension

      public void addDeployedExtension(String identifier, ExtensionInfo extensionInfo)
      Description copied from interface: ExtensionIndex
      Adds an extension that has been deployed to the server
      Specified by:
      addDeployedExtension in interface ExtensionIndex
      Parameters:
      identifier - The module identifier of the extension
      extensionInfo - The extension data
    • removeDeployedExtension

      public boolean removeDeployedExtension(String name, org.jboss.modules.ModuleIdentifier identifier)
      Removes extension information that has been deployed to the server
      Specified by:
      removeDeployedExtension in interface ExtensionIndex
      Parameters:
      name - The extension name
      identifier - The extension Identifier
      Returns:
      true if the extension was found and removed
    • removeDeployedExtension

      public boolean removeDeployedExtension(String name, String identifier)
      Description copied from interface: ExtensionIndex
      Removes extension information that has been deployed to the server
      Specified by:
      removeDeployedExtension in interface ExtensionIndex
      Parameters:
      name - The extension name
      identifier - The extension identifier to remove
      Returns:
      true if the extension was found and removed
    • findExtension

      public org.jboss.modules.ModuleIdentifier findExtension(String name, String minSpecVersion, String minImplVersion, String requiredVendorId)
      Find the identifier of an extension module, returning null if no matching extension is available.
      Specified by:
      findExtension in interface ExtensionIndex
      Parameters:
      name - the extension name
      minSpecVersion - the minimum spec version to match, or null to match any
      minImplVersion - the minimum implementation version to match, or null to match any
      requiredVendorId - the vendor ID to require, or null to match any
      Returns:
      the module identifier of the extension found.
    • findExtensionAsString

      public String findExtensionAsString(String name, String minSpecVersion, String minImplVersion, String requiredVendorId)
      Description copied from interface: ExtensionIndex
      Find the identifier of an extension module, returning null if no matching extension is available.
      Specified by:
      findExtensionAsString in interface ExtensionIndex
      Parameters:
      name - the extension name
      minSpecVersion - the minimum spec version to match, or null to match any
      minImplVersion - the minimum implementation version to match, or null to match any
      requiredVendorId - the vendor ID to require, or null to match any
      Returns:
      the module identifier of the extension found.
    • moduleIdentifier

      @Deprecated(forRemoval=true, since="28.0.0") public static org.jboss.modules.ModuleIdentifier moduleIdentifier(String name, String minSpecVersion, String minImplVersion, String requiredVendorId)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getValue

      Specified by:
      getValue in interface org.jboss.msc.value.Value<ExtensionIndex>
      Throws:
      IllegalStateException
      IllegalArgumentException