Class ImmutableValueSet.Builder

java.lang.Object
io.dialob.api.proto.ImmutableValueSet.Builder
Enclosing class:
ImmutableValueSet

@NotThreadSafe public static final class ImmutableValueSet.Builder extends Object
Builds instances of type ImmutableValueSet. 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 ImmutableValueSet.Builder from(ValueSet instance)
      Fill a builder with attribute values from the provided ValueSet 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 ImmutableValueSet.Builder id(String id)
      Initializes the value for the id attribute.
      Parameters:
      id - The value for id
      Returns:
      this builder for use in a chained invocation
    • addEntries

      public final ImmutableValueSet.Builder addEntries(ValueSetEntry element)
      Adds one element to entries list.
      Parameters:
      element - A entries element
      Returns:
      this builder for use in a chained invocation
    • addEntries

      public final ImmutableValueSet.Builder addEntries(String key, String value)
      Constructs and adds an element for the entries list.
      Parameters:
      key - The value for entries.key
      value - The value for entries.value (can be null)
      Returns:
      this builder for use in a chained invocation
    • addEntries

      public final ImmutableValueSet.Builder addEntries(ValueSetEntry... elements)
      Adds elements to entries list.
      Parameters:
      elements - An array of entries elements
      Returns:
      this builder for use in a chained invocation
    • entries

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

      public final ImmutableValueSet.Builder addAllEntries(Iterable<? extends ValueSetEntry> elements)
      Adds elements to entries list.
      Parameters:
      elements - An iterable of entries elements
      Returns:
      this builder for use in a chained invocation
    • build

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