Class QueryParamBuilder

java.lang.Object
com.eqixiac.equinix.core.http.request.QueryParamBuilder

public final class QueryParamBuilder extends Object
Shared builder for assembling an optional query-parameter map. null values are skipped so only the parameters the caller actually supplied are sent on the request. Used by domains whose list operations carry optional filters (e.g. IAM and STS paging/filter params).
  • Method Details

    • builder

      public static QueryParamBuilder builder()
      Starts a new query-parameter builder.
      Returns:
      a fresh builder
    • add

      public QueryParamBuilder add(String name, String value)
      Adds a string parameter unless its value is null. Adding the same name again replaces the previous value (these are single-valued optional filters).
      Parameters:
      name - the parameter name
      value - the parameter value (skipped when null)
      Returns:
      this builder for chaining
    • add

      public QueryParamBuilder add(String name, Integer value)
      Adds a numeric parameter (rendered via toString) unless its value is null.
      Parameters:
      name - the parameter name
      value - the parameter value (skipped when null)
      Returns:
      this builder for chaining
    • add

      public QueryParamBuilder add(String name, Boolean value)
      Adds a boolean parameter (rendered via toString) unless its value is null.
      Parameters:
      name - the parameter name
      value - the parameter value (skipped when null)
      Returns:
      this builder for chaining
    • build

      public Map<String, List<String>> build()
      Builds the assembled query-parameter map. A fresh deep copy is returned so the builder's internal state can never be aliased or mutated through the result (the builder itself may be reused afterwards).
      Returns:
      the query-parameter map (may be empty, never null)