Class ImmutableAnswer.Builder

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

@NotThreadSafe public static final class ImmutableAnswer.Builder extends Object
Builds instances of type ImmutableAnswer. 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

      public final ImmutableAnswer.Builder from(ModifiableAnswer instance)
      Fill a builder with attribute values from the provided ModifiableAnswer instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

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

      public final ImmutableAnswer.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
    • value

      public final ImmutableAnswer.Builder value(Object value)
      Initializes the value for the value attribute.
      Parameters:
      value - The value for value (can be null)
      Returns:
      this builder for use in a chained invocation
    • type

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

      public final ImmutableAnswer.Builder acceptedValue(Object acceptedValue)
      Initializes the value for the acceptedValue attribute.
      Parameters:
      acceptedValue - The value for acceptedValue (can be null)
      Returns:
      this builder for use in a chained invocation
    • updated

      public final ImmutableAnswer.Builder updated(Date updated)
      Initializes the value for the updated attribute.
      Parameters:
      updated - The value for updated (can be null)
      Returns:
      this builder for use in a chained invocation
    • userId

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

      public ImmutableAnswer build()
      Builds a new ImmutableAnswer.
      Returns:
      An immutable instance of Answer
      Throws:
      IllegalStateException - if any required attributes are missing