Class KeycloakCompatibilityMetadataProvider

java.lang.Object
org.keycloak.compatibility.KeycloakCompatibilityMetadataProvider
All Implemented Interfaces:
CompatibilityMetadataProvider

public class KeycloakCompatibilityMetadataProvider extends Object implements CompatibilityMetadataProvider
A CompatibilityMetadataProvider implementation to provide the Keycloak version.
  • Field Details

  • Constructor Details

    • KeycloakCompatibilityMetadataProvider

      public KeycloakCompatibilityMetadataProvider()
    • KeycloakCompatibilityMetadataProvider

      public KeycloakCompatibilityMetadataProvider(String version)
  • Method Details

    • metadata

      public Map<String,String> metadata()
      Description copied from interface: CompatibilityMetadataProvider
      Provides the metadata to be persisted.

      If an empty Map is returned, no information about this implementation will be persisted. A null return value is not supported, and it will interrupt the process.

      Specified by:
      metadata in interface CompatibilityMetadataProvider
      Returns:
      The metadata required by this provider to determine if a rolling update is possible.
    • isCompatible

      public CompatibilityResult isCompatible(Map<String,String> other)
      Description copied from interface: CompatibilityMetadataProvider
      It compares the current metadata with other from another deployment.

      The default implementation will allow a rolling update if the metadata from the current server is equal to the other. Implementations can overwrite this method as required.

      Specified by:
      isCompatible in interface CompatibilityMetadataProvider
      Parameters:
      other - The other deployment metadata. It only contains the metadata from this implementation.
      Returns:
      The CompatibilityResult with the outcome.
      See Also:
    • getId

      public String getId()
      Specified by:
      getId in interface CompatibilityMetadataProvider
      Returns:
      The ID of this implementation. It should be unique as implementation with the same ID and priority is not valid.