package com.airlock.iam.oauth2.application.configuration.scopepolicy;

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

public enum ScopePolicyConfig implements EnumPropertyTranslator {
   SCOPES_MANDATORY("Scopes Mandatory"),
   EMPTY_SCOPES_ALLOWED("Empty Scopes Allowed"),
   ALWAYS_OVERWRITE_SCOPES("Always Overwrite Scopes"),
   EMPTY_SCOPES_OVERWRITTEN("Empty Scopes Overwritten");

   private final String displayValue;

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

   @SuppressFBWarnings(justification = "generated code")
   public String getDisplayValue() {
      return this.displayValue;
   }

   public static class Constants {
      public static final String SCOPES_MANDATORY_DISPLAY_NAME = "Scopes Mandatory";
      public static final String EMPTY_SCOPES_ALLOWED_DISPLAY_NAME = "Empty Scopes Allowed";
      public static final String ALWAYS_OVERWRITE_SCOPES_DISPLAY_NAME = "Always Overwrite Scopes";
      public static final String EMPTY_SCOPES_OVERWRITTEN_DISPLAY_NAME = "Empty Scopes Overwritten";
   }
}
