Package net.shibboleth.profile.installablecomponent

# Class InstallableComponentSupport

java.lang.Object
net.shibboleth.profile.installablecomponent.InstallableComponentSupport

public final class InstallableComponentSupport extends Object
Useful methods for supporting Installable Components.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`InstallableComponentSupport.SupportLevel`
Value for support level pointed to by `SUPPORT_LEVEL_INTERFIX`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`AVAILABLE_VERSIONS_PROPERTY_SUFFIX`
Property Name suffix for available versions inside `Plugin.getUpdateURLs()`.
`static final String`
`BASE_NAME_INTERFIX`
Property Name for download name `Plugin.getUpdateURLs()`.
`static final String`
`DOWNLOAD_URL_INTERFIX`
Property Name for Download directory `Plugin.getUpdateURLs()`.
`private static org.slf4j.Logger`
`log`
Class logger.
`static final String`
`MAX_IDP_VERSION_INTERFIX`
Property Name for max supported IdP version inside inside `Plugin.getUpdateURLs()`.
`static final String`
`MIN_IDP_VERSION_INTERFIX`
Property Name for minimum supported IdP version inside inside `Plugin.getUpdateURLs()`.
`static final String`
`SUPPORT_LEVEL_INTERFIX`
Property Name for support level inside inside `Plugin.getUpdateURLs()`.
`static final String`
`VERSION_PATTERN`
Used for specifying templated keynames.
`static final String`
`VERSION_PATTERN_REGEX`
Used for specifying templated results.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`private`
`InstallableComponentSupport()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static InstallableComponentVersion`
`getBestVersion(InstallableComponentVersion installIntoVersion, InstallableComponentVersion instaleeVersion, InstallableComponentInfo instaleeInfo)`
Find the best update version (plugin or IdP - call it the instalee).
`static Properties`
`loadInfo(List<URL> updateURLs, org.apache.hc.client5.http.classic.HttpClient client, HttpClientSecurityParameters securityParameters)`
Load the property file describing all the plugin we know about from a known location.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### AVAILABLE_VERSIONS_PROPERTY_SUFFIX

@Nonnull public static final String AVAILABLE_VERSIONS_PROPERTY_SUFFIX
Property Name suffix for available versions inside `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### DOWNLOAD_URL_INTERFIX

@Nonnull public static final String DOWNLOAD_URL_INTERFIX
Property Name for Download directory `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### BASE_NAME_INTERFIX

@Nonnull public static final String BASE_NAME_INTERFIX
Property Name for download name `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### MAX_IDP_VERSION_INTERFIX

@Nonnull public static final String MAX_IDP_VERSION_INTERFIX
Property Name for max supported IdP version inside inside `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### MIN_IDP_VERSION_INTERFIX

@Nonnull public static final String MIN_IDP_VERSION_INTERFIX
Property Name for minimum supported IdP version inside inside `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### SUPPORT_LEVEL_INTERFIX

@Nonnull public static final String SUPPORT_LEVEL_INTERFIX
Property Name for support level inside inside `Plugin.getUpdateURLs()`.

See Also:
  - Constant Field Values

### VERSION_PATTERN

@Nonnull public static final String VERSION_PATTERN
Used for specifying templated keynames.

See Also:
  - Constant Field Values

### VERSION_PATTERN_REGEX

@Nonnull public static final String VERSION_PATTERN_REGEX
Used for specifying templated results.

See Also:
  - Constant Field Values

### log

@Nonnull private static org.slf4j.Logger log
Class logger.

## Constructor Details

### InstallableComponentSupport

private InstallableComponentSupport()
Constructor.

## Method Details

### getBestVersion

@Nullable public static InstallableComponentVersion getBestVersion(@Nonnull InstallableComponentVersion installIntoVersion, @Nonnull InstallableComponentVersion instaleeVersion, @Nonnull InstallableComponentInfo instaleeInfo)
Find the best update version (plugin or IdP - call it the instalee).

Parameters:
  `installIntoVersion` - The IdP version to check.
  `instaleeVersion` - The instalee version
  `instaleeInfo` - all about the instalee
Returns:
  the best version (or null)

### loadInfo

@Nullable public static Properties loadInfo(@Nonnull List<URL> updateURLs, @Nonnull org.apache.hc.client5.http.classic.HttpClient client, @Nullable HttpClientSecurityParameters securityParameters)
Load the property file describing all the plugin we know about from a known location.

Parameters:
  `updateURLs` - where to look
  `client` - the http client to use
  `securityParameters` - the HttpClientSecurityParameters, if any
Returns:
  the property files for the component.