Class ListBuilder<X>

java.lang.Object
io.vertigo.core.lang.ListBuilder<X>
Type Parameters:
X - Element type in the list
All Implemented Interfaces:
Builder<List<X>>

public final class ListBuilder<X> extends Object implements Builder<List<X>>
Fluent builder for List construction. Features: - Type-safe list creation - Required value validation - Collection bulk insertion - Optional sorting - Immutability support
Author:
pchretien
  • Constructor Details

    • ListBuilder

      public ListBuilder()
  • Method Details

    • add

      public ListBuilder<X> add(X value)
      Adds a required element to the list. Element must be non-null.
      Parameters:
      value - Element to add
      Returns:
      Current builder for chaining
      Throws:
      NullPointerException - if value is null
    • addAll

      public ListBuilder<X> addAll(Collection<? extends X> values)
      Adds all elements from a collection. All elements must be non-null.
      Parameters:
      values - Collection to add from
      Returns:
      Current builder for chaining
      Throws:
      NullPointerException - if collection or any element is null
    • unmodifiable

      public ListBuilder<X> unmodifiable()
      Makes the resulting list unmodifiable. Creates defensive copy on build.
      Returns:
      Current builder for chaining
    • sort

      public ListBuilder<X> sort(Comparator<? super X> comparator)
      Sets list sorting comparator. Applied during build.
      Parameters:
      comparator - Comparator to sort elements
      Returns:
      Current builder for chaining
      Throws:
      IllegalStateException - if comparator already set
    • build

      public List<X> build()
      Creates the final list. Applies sorting if configured and returns unmodifiable copy if requested.
      Specified by:
      build in interface Builder<X>
      Returns:
      Built list instance