All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dominodatalab.api.model.DominoNucleusLibAuthPrincipalWithFeatureFlags Maven / Gradle / Ivy

/*
 * Domino Data Lab API v4
 * This API is going to provide access to all the Domino functions available in the user interface. To authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key. 
 *
 * The version of the OpenAPI document: 4.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.dominodatalab.api.model;

import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.StringJoiner;
import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.dominodatalab.api.model.DominoNucleusLibAuthGlobalBannerSettings;
import com.dominodatalab.api.model.DominoNucleusLibAuthMixpanelSettings;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;


/**
 * DominoNucleusLibAuthPrincipalWithFeatureFlags
 */
@JsonPropertyOrder({
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_ALLOWED_SYSTEM_OPERATIONS,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_BOOLEAN_SETTINGS,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_CANONICAL_ID,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_CANONICAL_NAME,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_DOCS_ROOT,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_EXPERIMENT_RUNS_PAGE_SIZE,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_FEATURE_FLAGS,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_GLOBAL_BANNER_SETTINGS,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_IS_ADMIN,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_IS_ANONYMOUS,
  DominoNucleusLibAuthPrincipalWithFeatureFlags.JSON_PROPERTY_MIXPANEL_SETTINGS
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-02-03T07:34:01.543562200-05:00[America/New_York]")
public class DominoNucleusLibAuthPrincipalWithFeatureFlags {
  /**
   * Gets or Sets allowedSystemOperations
   */
  public enum AllowedSystemOperationsEnum {
    UPDATEUSER("UpdateUser"),
    
    LISTALLPROJECTS("ListAllProjects"),
    
    STOPRUNS("StopRuns"),
    
    VIEWEXECUTORS("ViewExecutors"),
    
    USEK8SDASHBOARD("UseK8sDashboard"),
    
    EDITENVIRONMENTSASOWNER("EditEnvironmentsAsOwner"),
    
    STOPSERVER("StopServer"),
    
    VIEWMETRICS("ViewMetrics"),
    
    RUNMONGODBCOMMANDS("RunMongoDBCommands"),
    
    MANAGEENVIRONMENTS("ManageEnvironments"),
    
    TRIGGERSEARCHINDEXING("TriggerSearchIndexing"),
    
    MANAGEPROJECTTAGS("ManageProjectTags"),
    
    RESETINDEX("ResetIndex"),
    
    MANAGEEXECUTORS("ManageExecutors"),
    
    EDITCENTRALCONFIG("EditCentralConfig"),
    
    MANAGEORGANIZATIONS("ManageOrganizations"),
    
    VIEWUSAGE("ViewUsage"),
    
    VIEWPROJECTSIZES("ViewProjectSizes"),
    
    GENERATEPASSWORDRESETLINKS("GeneratePasswordResetLinks"),
    
    VIEWREVENUE("ViewRevenue"),
    
    ACTASPROJECTADMIN("ActAsProjectAdmin"),
    
    EXECUTERUNSFORFREE("ExecuteRunsForFree"),
    
    VIEWGLOBALENVIRONMENTS("ViewGlobalEnvironments"),
    
    VIEWADMINMENU("ViewAdminMenu"),
    
    VIEWUSERLIST("ViewUserList"),
    
    MANAGEBUILDS("ManageBuilds"),
    
    CURATEPROJECTS("CurateProjects"),
    
    VIEWPROJECTLIST("ViewProjectList"),
    
    VIEWEVERYTHINGINCONTROLCENTER("ViewEverythingInControlCenter"),
    
    RESTARTNUCLEUS("RestartNucleus"),
    
    MANAGEHARDWARETIERS("ManageHardwareTiers"),
    
    SETUSERSYSTEMROLES("SetUserSystemRoles"),
    
    MANAGEFEATUREFLAGS("ManageFeatureFlags"),
    
    VIEWADMINDASHBOARD("ViewAdminDashboard"),
    
    PREVIEWPROJECTS("PreviewProjects"),
    
    READKUBERNETES("ReadKubernetes"),
    
    VIEWSEARCHINDEX("ViewSearchIndex");

    private String value;

    AllowedSystemOperationsEnum(String value) {
      this.value = value;
    }

    @JsonValue
    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    @JsonCreator
    public static AllowedSystemOperationsEnum fromValue(String value) {
      for (AllowedSystemOperationsEnum b : AllowedSystemOperationsEnum.values()) {
        if (b.value.equals(value)) {
          return b;
        }
      }
      throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }
  }

  public static final String JSON_PROPERTY_ALLOWED_SYSTEM_OPERATIONS = "allowedSystemOperations";
  private List allowedSystemOperations = new ArrayList<>();

  public static final String JSON_PROPERTY_BOOLEAN_SETTINGS = "booleanSettings";
  private List booleanSettings = new ArrayList<>();

  public static final String JSON_PROPERTY_CANONICAL_ID = "canonicalId";
  private String canonicalId;

  public static final String JSON_PROPERTY_CANONICAL_NAME = "canonicalName";
  private String canonicalName;

  public static final String JSON_PROPERTY_DOCS_ROOT = "docsRoot";
  private String docsRoot;

  public static final String JSON_PROPERTY_EXPERIMENT_RUNS_PAGE_SIZE = "experimentRunsPageSize";
  private Integer experimentRunsPageSize;

  public static final String JSON_PROPERTY_FEATURE_FLAGS = "featureFlags";
  private List featureFlags = new ArrayList<>();

  public static final String JSON_PROPERTY_GLOBAL_BANNER_SETTINGS = "globalBannerSettings";
  private DominoNucleusLibAuthGlobalBannerSettings globalBannerSettings;

  public static final String JSON_PROPERTY_IS_ADMIN = "isAdmin";
  private Boolean isAdmin;

  public static final String JSON_PROPERTY_IS_ANONYMOUS = "isAnonymous";
  private Boolean isAnonymous;

  public static final String JSON_PROPERTY_MIXPANEL_SETTINGS = "mixpanelSettings";
  private DominoNucleusLibAuthMixpanelSettings mixpanelSettings;

  public DominoNucleusLibAuthPrincipalWithFeatureFlags() { 
  }

  public DominoNucleusLibAuthPrincipalWithFeatureFlags allowedSystemOperations(List allowedSystemOperations) {
    this.allowedSystemOperations = allowedSystemOperations;
    return this;
  }

  public DominoNucleusLibAuthPrincipalWithFeatureFlags addAllowedSystemOperationsItem(AllowedSystemOperationsEnum allowedSystemOperationsItem) {
    if (this.allowedSystemOperations == null) {
      this.allowedSystemOperations = new ArrayList<>();
    }
    this.allowedSystemOperations.add(allowedSystemOperationsItem);
    return this;
  }

   /**
   * Get allowedSystemOperations
   * @return allowedSystemOperations
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_ALLOWED_SYSTEM_OPERATIONS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getAllowedSystemOperations() {
    return allowedSystemOperations;
  }


  @JsonProperty(JSON_PROPERTY_ALLOWED_SYSTEM_OPERATIONS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setAllowedSystemOperations(List allowedSystemOperations) {
    this.allowedSystemOperations = allowedSystemOperations;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags booleanSettings(List booleanSettings) {
    this.booleanSettings = booleanSettings;
    return this;
  }

  public DominoNucleusLibAuthPrincipalWithFeatureFlags addBooleanSettingsItem(String booleanSettingsItem) {
    if (this.booleanSettings == null) {
      this.booleanSettings = new ArrayList<>();
    }
    this.booleanSettings.add(booleanSettingsItem);
    return this;
  }

   /**
   * Get booleanSettings
   * @return booleanSettings
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_BOOLEAN_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getBooleanSettings() {
    return booleanSettings;
  }


  @JsonProperty(JSON_PROPERTY_BOOLEAN_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setBooleanSettings(List booleanSettings) {
    this.booleanSettings = booleanSettings;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags canonicalId(String canonicalId) {
    this.canonicalId = canonicalId;
    return this;
  }

   /**
   * Get canonicalId
   * @return canonicalId
  **/
  @javax.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_CANONICAL_ID)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public String getCanonicalId() {
    return canonicalId;
  }


  @JsonProperty(JSON_PROPERTY_CANONICAL_ID)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setCanonicalId(String canonicalId) {
    this.canonicalId = canonicalId;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags canonicalName(String canonicalName) {
    this.canonicalName = canonicalName;
    return this;
  }

   /**
   * Get canonicalName
   * @return canonicalName
  **/
  @javax.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_CANONICAL_NAME)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public String getCanonicalName() {
    return canonicalName;
  }


  @JsonProperty(JSON_PROPERTY_CANONICAL_NAME)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setCanonicalName(String canonicalName) {
    this.canonicalName = canonicalName;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags docsRoot(String docsRoot) {
    this.docsRoot = docsRoot;
    return this;
  }

   /**
   * Get docsRoot
   * @return docsRoot
  **/
  @javax.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_DOCS_ROOT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public String getDocsRoot() {
    return docsRoot;
  }


  @JsonProperty(JSON_PROPERTY_DOCS_ROOT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setDocsRoot(String docsRoot) {
    this.docsRoot = docsRoot;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags experimentRunsPageSize(Integer experimentRunsPageSize) {
    this.experimentRunsPageSize = experimentRunsPageSize;
    return this;
  }

   /**
   * Get experimentRunsPageSize
   * @return experimentRunsPageSize
  **/
  @javax.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_EXPERIMENT_RUNS_PAGE_SIZE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public Integer getExperimentRunsPageSize() {
    return experimentRunsPageSize;
  }


  @JsonProperty(JSON_PROPERTY_EXPERIMENT_RUNS_PAGE_SIZE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setExperimentRunsPageSize(Integer experimentRunsPageSize) {
    this.experimentRunsPageSize = experimentRunsPageSize;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags featureFlags(List featureFlags) {
    this.featureFlags = featureFlags;
    return this;
  }

  public DominoNucleusLibAuthPrincipalWithFeatureFlags addFeatureFlagsItem(String featureFlagsItem) {
    if (this.featureFlags == null) {
      this.featureFlags = new ArrayList<>();
    }
    this.featureFlags.add(featureFlagsItem);
    return this;
  }

   /**
   * Get featureFlags
   * @return featureFlags
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_FEATURE_FLAGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getFeatureFlags() {
    return featureFlags;
  }


  @JsonProperty(JSON_PROPERTY_FEATURE_FLAGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setFeatureFlags(List featureFlags) {
    this.featureFlags = featureFlags;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags globalBannerSettings(DominoNucleusLibAuthGlobalBannerSettings globalBannerSettings) {
    this.globalBannerSettings = globalBannerSettings;
    return this;
  }

   /**
   * Get globalBannerSettings
   * @return globalBannerSettings
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_GLOBAL_BANNER_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public DominoNucleusLibAuthGlobalBannerSettings getGlobalBannerSettings() {
    return globalBannerSettings;
  }


  @JsonProperty(JSON_PROPERTY_GLOBAL_BANNER_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setGlobalBannerSettings(DominoNucleusLibAuthGlobalBannerSettings globalBannerSettings) {
    this.globalBannerSettings = globalBannerSettings;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags isAdmin(Boolean isAdmin) {
    this.isAdmin = isAdmin;
    return this;
  }

   /**
   * Get isAdmin
   * @return isAdmin
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_IS_ADMIN)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Boolean getIsAdmin() {
    return isAdmin;
  }


  @JsonProperty(JSON_PROPERTY_IS_ADMIN)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setIsAdmin(Boolean isAdmin) {
    this.isAdmin = isAdmin;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags isAnonymous(Boolean isAnonymous) {
    this.isAnonymous = isAnonymous;
    return this;
  }

   /**
   * Get isAnonymous
   * @return isAnonymous
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_IS_ANONYMOUS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Boolean getIsAnonymous() {
    return isAnonymous;
  }


  @JsonProperty(JSON_PROPERTY_IS_ANONYMOUS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setIsAnonymous(Boolean isAnonymous) {
    this.isAnonymous = isAnonymous;
  }


  public DominoNucleusLibAuthPrincipalWithFeatureFlags mixpanelSettings(DominoNucleusLibAuthMixpanelSettings mixpanelSettings) {
    this.mixpanelSettings = mixpanelSettings;
    return this;
  }

   /**
   * Get mixpanelSettings
   * @return mixpanelSettings
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_MIXPANEL_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public DominoNucleusLibAuthMixpanelSettings getMixpanelSettings() {
    return mixpanelSettings;
  }


  @JsonProperty(JSON_PROPERTY_MIXPANEL_SETTINGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setMixpanelSettings(DominoNucleusLibAuthMixpanelSettings mixpanelSettings) {
    this.mixpanelSettings = mixpanelSettings;
  }


  /**
   * Return true if this domino.nucleus.lib.auth.PrincipalWithFeatureFlags object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    DominoNucleusLibAuthPrincipalWithFeatureFlags dominoNucleusLibAuthPrincipalWithFeatureFlags = (DominoNucleusLibAuthPrincipalWithFeatureFlags) o;
    return Objects.equals(this.allowedSystemOperations, dominoNucleusLibAuthPrincipalWithFeatureFlags.allowedSystemOperations) &&
        Objects.equals(this.booleanSettings, dominoNucleusLibAuthPrincipalWithFeatureFlags.booleanSettings) &&
        Objects.equals(this.canonicalId, dominoNucleusLibAuthPrincipalWithFeatureFlags.canonicalId) &&
        Objects.equals(this.canonicalName, dominoNucleusLibAuthPrincipalWithFeatureFlags.canonicalName) &&
        Objects.equals(this.docsRoot, dominoNucleusLibAuthPrincipalWithFeatureFlags.docsRoot) &&
        Objects.equals(this.experimentRunsPageSize, dominoNucleusLibAuthPrincipalWithFeatureFlags.experimentRunsPageSize) &&
        Objects.equals(this.featureFlags, dominoNucleusLibAuthPrincipalWithFeatureFlags.featureFlags) &&
        Objects.equals(this.globalBannerSettings, dominoNucleusLibAuthPrincipalWithFeatureFlags.globalBannerSettings) &&
        Objects.equals(this.isAdmin, dominoNucleusLibAuthPrincipalWithFeatureFlags.isAdmin) &&
        Objects.equals(this.isAnonymous, dominoNucleusLibAuthPrincipalWithFeatureFlags.isAnonymous) &&
        Objects.equals(this.mixpanelSettings, dominoNucleusLibAuthPrincipalWithFeatureFlags.mixpanelSettings);
  }

  @Override
  public int hashCode() {
    return Objects.hash(allowedSystemOperations, booleanSettings, canonicalId, canonicalName, docsRoot, experimentRunsPageSize, featureFlags, globalBannerSettings, isAdmin, isAnonymous, mixpanelSettings);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class DominoNucleusLibAuthPrincipalWithFeatureFlags {\n");
    sb.append("    allowedSystemOperations: ").append(toIndentedString(allowedSystemOperations)).append("\n");
    sb.append("    booleanSettings: ").append(toIndentedString(booleanSettings)).append("\n");
    sb.append("    canonicalId: ").append(toIndentedString(canonicalId)).append("\n");
    sb.append("    canonicalName: ").append(toIndentedString(canonicalName)).append("\n");
    sb.append("    docsRoot: ").append(toIndentedString(docsRoot)).append("\n");
    sb.append("    experimentRunsPageSize: ").append(toIndentedString(experimentRunsPageSize)).append("\n");
    sb.append("    featureFlags: ").append(toIndentedString(featureFlags)).append("\n");
    sb.append("    globalBannerSettings: ").append(toIndentedString(globalBannerSettings)).append("\n");
    sb.append("    isAdmin: ").append(toIndentedString(isAdmin)).append("\n");
    sb.append("    isAnonymous: ").append(toIndentedString(isAnonymous)).append("\n");
    sb.append("    mixpanelSettings: ").append(toIndentedString(mixpanelSettings)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

  /**
   * Convert the instance into URL query string.
   *
   * @return URL query string
   */
  public String toUrlQueryString() {
    return toUrlQueryString(null);
  }

  /**
   * Convert the instance into URL query string.
   *
   * @param prefix prefix of the query string
   * @return URL query string
   */
  public String toUrlQueryString(String prefix) {
    String suffix = "";
    String containerSuffix = "";
    String containerPrefix = "";
    if (prefix == null) {
      // style=form, explode=true, e.g. /pet?name=cat&type=manx
      prefix = "";
    } else {
      // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
      prefix = prefix + "[";
      suffix = "]";
      containerSuffix = "]";
      containerPrefix = "[";
    }

    StringJoiner joiner = new StringJoiner("&");

    // add `allowedSystemOperations` to the URL query string
    if (getAllowedSystemOperations() != null) {
      for (int i = 0; i < getAllowedSystemOperations().size(); i++) {
        joiner.add(String.format("%sallowedSystemOperations%s%s=%s", prefix, suffix,
            "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
            URLEncoder.encode(String.valueOf(getAllowedSystemOperations().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
      }
    }

    // add `booleanSettings` to the URL query string
    if (getBooleanSettings() != null) {
      for (int i = 0; i < getBooleanSettings().size(); i++) {
        joiner.add(String.format("%sbooleanSettings%s%s=%s", prefix, suffix,
            "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
            URLEncoder.encode(String.valueOf(getBooleanSettings().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
      }
    }

    // add `canonicalId` to the URL query string
    if (getCanonicalId() != null) {
      joiner.add(String.format("%scanonicalId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getCanonicalId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `canonicalName` to the URL query string
    if (getCanonicalName() != null) {
      joiner.add(String.format("%scanonicalName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getCanonicalName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `docsRoot` to the URL query string
    if (getDocsRoot() != null) {
      joiner.add(String.format("%sdocsRoot%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDocsRoot()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `experimentRunsPageSize` to the URL query string
    if (getExperimentRunsPageSize() != null) {
      joiner.add(String.format("%sexperimentRunsPageSize%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getExperimentRunsPageSize()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `featureFlags` to the URL query string
    if (getFeatureFlags() != null) {
      for (int i = 0; i < getFeatureFlags().size(); i++) {
        joiner.add(String.format("%sfeatureFlags%s%s=%s", prefix, suffix,
            "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
            URLEncoder.encode(String.valueOf(getFeatureFlags().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
      }
    }

    // add `globalBannerSettings` to the URL query string
    if (getGlobalBannerSettings() != null) {
      joiner.add(getGlobalBannerSettings().toUrlQueryString(prefix + "globalBannerSettings" + suffix));
    }

    // add `isAdmin` to the URL query string
    if (getIsAdmin() != null) {
      joiner.add(String.format("%sisAdmin%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsAdmin()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `isAnonymous` to the URL query string
    if (getIsAnonymous() != null) {
      joiner.add(String.format("%sisAnonymous%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsAnonymous()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `mixpanelSettings` to the URL query string
    if (getMixpanelSettings() != null) {
      joiner.add(getMixpanelSettings().toUrlQueryString(prefix + "mixpanelSettings" + suffix));
    }

    return joiner.toString();
  }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy