Class ImmutableTrees.Unit.Builder

java.lang.Object
org.immutables.generator.processor.ImmutableTrees.Unit.Builder
Enclosing class:
ImmutableTrees.Unit

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

  • Field Details

    • parts

      private com.google.common.collect.ImmutableList.Builder<Trees.UnitPart> parts
  • Constructor Details

    • Builder

      private Builder()
  • Method Details

    • from

      public final ImmutableTrees.Unit.Builder from(Trees.Unit instance)
      Fill a builder with attribute values from the provided Unit 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
    • addParts

      public final ImmutableTrees.Unit.Builder addParts(Trees.UnitPart element)
      Adds one element to parts list.
      Parameters:
      element - A parts element
      Returns:
      this builder for use in a chained invocation
    • addParts

      public final ImmutableTrees.Unit.Builder addParts(Trees.UnitPart... elements)
      Adds elements to parts list.
      Parameters:
      elements - An array of parts elements
      Returns:
      this builder for use in a chained invocation
    • parts

      public final ImmutableTrees.Unit.Builder parts(Iterable<? extends Trees.UnitPart> elements)
      Sets or replaces all elements for parts list.
      Parameters:
      elements - An iterable of parts elements
      Returns:
      this builder for use in a chained invocation
    • addAllParts

      public final ImmutableTrees.Unit.Builder addAllParts(Iterable<? extends Trees.UnitPart> elements)
      Adds elements to parts list.
      Parameters:
      elements - An iterable of parts elements
      Returns:
      this builder for use in a chained invocation
    • build

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