Class ImmutableQuestionnaire.Builder

java.lang.Object
io.dialob.api.questionnaire.ImmutableQuestionnaire.Builder
Enclosing class:
ImmutableQuestionnaire

@NotThreadSafe public static final class ImmutableQuestionnaire.Builder extends Object
Builds instances of type ImmutableQuestionnaire. Initialize attributes and then invoke the build() method to create an immutable instance.

Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Method Details

    • from

      Fill a builder with attribute values from the provided ModifiableQuestionnaire instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      public final ImmutableQuestionnaire.Builder from(Questionnaire instance)
      Fill a builder with attribute values from the provided Questionnaire instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • id

      public final ImmutableQuestionnaire.Builder id(String id)
      Initializes the value for the id attribute.
      Parameters:
      id - The value for id (can be null)
      Returns:
      this builder for use in a chained invocation
    • rev

      public final ImmutableQuestionnaire.Builder rev(String rev)
      Initializes the value for the rev attribute.
      Parameters:
      rev - The value for rev (can be null)
      Returns:
      this builder for use in a chained invocation
    • addAnswers

      public final ImmutableQuestionnaire.Builder addAnswers(@Nullable Answer element)
      Adds one element to answers list.
      Parameters:
      element - A answers element
      Returns:
      this builder for use in a chained invocation
    • addAnswers

      public final ImmutableQuestionnaire.Builder addAnswers(String id, Object value)
      Constructs and adds an element for the answers list.
      Parameters:
      id - The value for answers.id (can be null)
      value - The value for answers.value (can be null)
      Returns:
      this builder for use in a chained invocation
    • addAnswers

      public final ImmutableQuestionnaire.Builder addAnswers(Answer... elements)
      Adds elements to answers list.
      Parameters:
      elements - An array of answers elements
      Returns:
      this builder for use in a chained invocation
    • answers

      public final ImmutableQuestionnaire.Builder answers(Iterable<? extends Answer> elements)
      Sets or replaces all elements for answers list.
      Parameters:
      elements - An iterable of answers elements
      Returns:
      this builder for use in a chained invocation
    • addAllAnswers

      public final ImmutableQuestionnaire.Builder addAllAnswers(Iterable<? extends Answer> elements)
      Adds elements to answers list.
      Parameters:
      elements - An iterable of answers elements
      Returns:
      this builder for use in a chained invocation
    • addContext

      public final ImmutableQuestionnaire.Builder addContext(@Nullable ContextValue element)
      Adds one element to context list.
      Parameters:
      element - A context element
      Returns:
      this builder for use in a chained invocation
    • addContext

      public final ImmutableQuestionnaire.Builder addContext(String id, Object value)
      Constructs and adds an element for the context list.
      Parameters:
      id - The value for context.id (can be null)
      value - The value for context.value (can be null)
      Returns:
      this builder for use in a chained invocation
    • addContext

      public final ImmutableQuestionnaire.Builder addContext(ContextValue... elements)
      Adds elements to context list.
      Parameters:
      elements - An array of context elements
      Returns:
      this builder for use in a chained invocation
    • context

      public final ImmutableQuestionnaire.Builder context(Iterable<? extends ContextValue> elements)
      Sets or replaces all elements for context list.
      Parameters:
      elements - An iterable of context elements
      Returns:
      this builder for use in a chained invocation
    • addAllContext

      public final ImmutableQuestionnaire.Builder addAllContext(Iterable<? extends ContextValue> elements)
      Adds elements to context list.
      Parameters:
      elements - An iterable of context elements
      Returns:
      this builder for use in a chained invocation
    • activeItem

      public final ImmutableQuestionnaire.Builder activeItem(String activeItem)
      Initializes the value for the activeItem attribute.
      Parameters:
      activeItem - The value for activeItem (can be null)
      Returns:
      this builder for use in a chained invocation
    • addErrors

      public final ImmutableQuestionnaire.Builder addErrors(@Nullable Error element)
      Adds one element to errors list.
      Parameters:
      element - A errors element
      Returns:
      this builder for use in a chained invocation
    • addErrors

      public final ImmutableQuestionnaire.Builder addErrors(String id, String code, String description)
      Constructs and adds an element for the errors list.
      Parameters:
      id - The value for errors.id
      code - The value for errors.code (can be null)
      description - The value for errors.description (can be null)
      Returns:
      this builder for use in a chained invocation
    • addErrors

      public final ImmutableQuestionnaire.Builder addErrors(Error... elements)
      Adds elements to errors list.
      Parameters:
      elements - An array of errors elements
      Returns:
      this builder for use in a chained invocation
    • errors

      public final ImmutableQuestionnaire.Builder errors(Iterable<? extends Error> elements)
      Sets or replaces all elements for errors list.
      Parameters:
      elements - An iterable of errors elements
      Returns:
      this builder for use in a chained invocation
    • addAllErrors

      public final ImmutableQuestionnaire.Builder addAllErrors(Iterable<? extends Error> elements)
      Adds elements to errors list.
      Parameters:
      elements - An iterable of errors elements
      Returns:
      this builder for use in a chained invocation
    • addVariableValues

      public final ImmutableQuestionnaire.Builder addVariableValues(@Nullable VariableValue element)
      Adds one element to variableValues list.
      Parameters:
      element - A variableValues element
      Returns:
      this builder for use in a chained invocation
    • addVariableValues

      public final ImmutableQuestionnaire.Builder addVariableValues(String id, Object value)
      Constructs and adds an element for the variableValues list.
      Parameters:
      id - The value for variableValues.id
      value - The value for variableValues.value (can be null)
      Returns:
      this builder for use in a chained invocation
    • addVariableValues

      public final ImmutableQuestionnaire.Builder addVariableValues(VariableValue... elements)
      Adds elements to variableValues list.
      Parameters:
      elements - An array of variableValues elements
      Returns:
      this builder for use in a chained invocation
    • variableValues

      public final ImmutableQuestionnaire.Builder variableValues(Iterable<? extends VariableValue> elements)
      Sets or replaces all elements for variableValues list.
      Parameters:
      elements - An iterable of variableValues elements
      Returns:
      this builder for use in a chained invocation
    • addAllVariableValues

      public final ImmutableQuestionnaire.Builder addAllVariableValues(Iterable<? extends VariableValue> elements)
      Adds elements to variableValues list.
      Parameters:
      elements - An iterable of variableValues elements
      Returns:
      this builder for use in a chained invocation
    • addValueSets

      public final ImmutableQuestionnaire.Builder addValueSets(@Nullable ValueSet element)
      Adds one element to valueSets list.
      Parameters:
      element - A valueSets element
      Returns:
      this builder for use in a chained invocation
    • addValueSets

      public final ImmutableQuestionnaire.Builder addValueSets(ValueSet... elements)
      Adds elements to valueSets list.
      Parameters:
      elements - An array of valueSets elements
      Returns:
      this builder for use in a chained invocation
    • valueSets

      public final ImmutableQuestionnaire.Builder valueSets(Iterable<? extends ValueSet> elements)
      Sets or replaces all elements for valueSets list.
      Parameters:
      elements - An iterable of valueSets elements
      Returns:
      this builder for use in a chained invocation
    • addAllValueSets

      public final ImmutableQuestionnaire.Builder addAllValueSets(Iterable<? extends ValueSet> elements)
      Adds elements to valueSets list.
      Parameters:
      elements - An iterable of valueSets elements
      Returns:
      this builder for use in a chained invocation
    • metadata

      public final ImmutableQuestionnaire.Builder metadata(Questionnaire.Metadata metadata)
      Initializes the value for the metadata attribute.
      Parameters:
      metadata - The value for metadata (can be null)
      Returns:
      this builder for use in a chained invocation
    • build

      public ImmutableQuestionnaire build()
      Returns:
      An immutable instance of Questionnaire
      Throws:
      IllegalStateException - if any required attributes are missing