Package edu.iu.client

Class IuJsonBuilder<B extends IuJsonBuilder<B>>

java.lang.Object
edu.iu.client.IuJsonBuilder<B>
Type Parameters:
B - builder type
Direct Known Subclasses:
CertificateReferenceBuilder, JwtBuilder

public class IuJsonBuilder<B extends IuJsonBuilder<B>> extends Object
Functional base class for implementing JSON-based builder pattern behavior components.
  • Constructor Details

    • IuJsonBuilder

      protected IuJsonBuilder()
      Default constructor.
  • Method Details

    • toJson

      protected JsonObject toJson()
      Creates a JsonObject from all pending parameters.
      Returns:
      JsonObject
    • build

      protected JsonObjectBuilder build(JsonObjectBuilder builder)
      Adds all pending parameters to a JsonObjectBuilder.
      Parameters:
      builder - JsonObjectBuilder
      Returns:
      builder
    • param

      protected JsonValue param(String name)
      Gets a pending parameter value.
      Parameters:
      name - parameter name
      Returns:
      parameter value
    • copy

      protected <S extends IuJsonBuilder<S>> B copy(S builder)
      Copies all values from another builder to this one
      Type Parameters:
      S - source builder type
      Parameters:
      builder - source builder
      Returns:
      this
    • param

      protected <T> B param(String name, T value)
      Sets a parameter value.
      Type Parameters:
      T - value type
      Parameters:
      name - parameter name
      value - parameter value
      Returns:
      this
    • param

      protected <T> B param(String name, T value, IuJsonAdapter<T> adapter)
      Sets a parameter value.
      Type Parameters:
      T - value type
      Parameters:
      name - parameter name
      value - parameter value
      adapter - JSON type adapter
      Returns:
      this
    • paramNames

      protected Set<String> paramNames()
      Gets a set of pending parameter names.
      Returns:
      pending parameter names