package com.airlock.iam.flow.shared.application.configuration.valueprovider;

import com.airlock.iam.common.api.application.configuration.valueprovider.StringValueProviderConfig;
import com.airlock.iam.plugin.api.annotation.config.Plugin;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

@Plugin(
   description = "Provides the email address stored in the flow session for email verification during email change. This provider must find an email address in the flow session, otherwise it fails.",
   displayName = "Changed Email Address Provider"
)
public class ChangedEmailProviderConfig implements StringValueProviderConfig {
   public static final String CHANGED_EMAIL_PROVIDER_DISPLAY_NAME = "Changed Email Address Provider";

   @SuppressFBWarnings(justification = "generated code")
   public static ChangedEmailProviderConfig.ChangedEmailProviderConfigBuilder builder() {
      return new ChangedEmailProviderConfig.ChangedEmailProviderConfigBuilder();
   }

   @SuppressFBWarnings(justification = "generated code")
   public static class ChangedEmailProviderConfigBuilder {
      @SuppressFBWarnings(justification = "generated code")
      ChangedEmailProviderConfigBuilder() {
      }

      @SuppressFBWarnings(justification = "generated code")
      public ChangedEmailProviderConfig build() {
         return new ChangedEmailProviderConfig();
      }

      @SuppressFBWarnings(justification = "generated code")
      @Override
      public String toString() {
         return "ChangedEmailProviderConfig.ChangedEmailProviderConfigBuilder()";
      }
   }
}
