package com.airlock.iam.common.application.configuration.event;

import com.airlock.iam.plugin.api.annotation.config.Plugin;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

@Plugin(
   description = "<p>Event that is published when a user's email address has been changed.</p><p>This event is published in Loginapp flows by the \"Apply Email Change\" handler\nand in the Adminapp by Generic Token Controllers for tokens with \"EMAIL\" as Token Event Type\nand by profile items of type \"Email User Profile Item\".</p>",
   displayName = "Email Address Changed"
)
public class EmailAddressChangedSubscribedEventConfig implements LoginappUserSubscribedEventConfig, AdminappUserSubscribedEventConfig {
   static final String EMAIL_EVENTS_PUBLISHED_LOCATIONS = "<p>This event is published in Loginapp flows by the \"Apply Email Change\" handler\nand in the Adminapp by Generic Token Controllers for tokens with \"EMAIL\" as Token Event Type\nand by profile items of type \"Email User Profile Item\".</p>";

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

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

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

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