Class JPropertySuccess.Builder<A>

java.lang.Object
com.io7m.jproperties.monad.JPropertySuccess.Builder<A>
Enclosing class:
JPropertySuccess<A>

public static final class JPropertySuccess.Builder<A> extends Object
Builds instances of type JPropertySuccess. 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 JPropertySuccessType 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
    • setResult

      public final JPropertySuccess.Builder<A> setResult(A result)
      Initializes the value for the result attribute.
      Parameters:
      result - The value for result
      Returns:
      this builder for use in a chained invocation
    • addWarnings

      public final JPropertySuccess.Builder<A> addWarnings(JPropertyWarning element)
      Adds one element to warnings list.
      Parameters:
      element - A warnings element
      Returns:
      this builder for use in a chained invocation
    • addWarnings

      public final JPropertySuccess.Builder<A> addWarnings(JPropertyWarning... elements)
      Adds elements to warnings list.
      Parameters:
      elements - An array of warnings elements
      Returns:
      this builder for use in a chained invocation
    • setWarnings

      public final JPropertySuccess.Builder<A> setWarnings(Iterable<? extends JPropertyWarning> elements)
      Sets or replaces all elements for warnings list.
      Parameters:
      elements - An iterable of warnings elements
      Returns:
      this builder for use in a chained invocation
    • addAllWarnings

      public final JPropertySuccess.Builder<A> addAllWarnings(Iterable<? extends JPropertyWarning> elements)
      Adds elements to warnings list.
      Parameters:
      elements - An iterable of warnings elements
      Returns:
      this builder for use in a chained invocation
    • addErrors

      public final JPropertySuccess.Builder<A> addErrors(JPropertyError element)
      Adds one element to errors list.
      Parameters:
      element - A errors element
      Returns:
      this builder for use in a chained invocation
    • addErrors

      public final JPropertySuccess.Builder<A> addErrors(JPropertyError... elements)
      Adds elements to errors list.
      Parameters:
      elements - An array of errors elements
      Returns:
      this builder for use in a chained invocation
    • setErrors

      public final JPropertySuccess.Builder<A> setErrors(Iterable<? extends JPropertyError> 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 JPropertySuccess.Builder<A> addAllErrors(Iterable<? extends JPropertyError> elements)
      Adds elements to errors list.
      Parameters:
      elements - An iterable of errors elements
      Returns:
      this builder for use in a chained invocation
    • build

      public JPropertySuccess<A> build()
      Builds a new JPropertySuccess.
      Returns:
      An immutable instance of JPropertySuccess
      Throws:
      IllegalStateException - if any required attributes are missing