package com.airlock.iam.factor.application.configuration.airlock2fa;

import com.airlock.iam.plugin.framework.domain.model.property.EnumPropertyTranslator;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public enum Airlock2FAFlowBindingMode implements EnumPropertyTranslator {
   OFF("Never"),
   ONLY_WITH_LETTER("Only with Letter"),
   ALWAYS("Always");

   private final String displayName;

   public boolean isEnabledForLetters() {
      return this == ONLY_WITH_LETTER || this == ALWAYS;
   }

   public boolean isEnabledForOnScreenActivation() {
      return this == ALWAYS;
   }

   public String getDisplayValue() {
      return this.displayName;
   }

   @SuppressFBWarnings(justification = "generated code")
   Airlock2FAFlowBindingMode(final String displayName) {
      this.displayName = displayName;
   }
}
