Class ImmutableTrees.Unit.Builder

  • Enclosing class:
    ImmutableTrees.Unit

    @NotThreadSafe
    public static final class ImmutableTrees.Unit.Builder
    extends java.lang.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 Detail

      • parts

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

      • Builder

        private Builder()
    • Method Detail

      • 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
      • parts

        public final ImmutableTrees.Unit.Builder parts​(java.lang.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​(java.lang.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:
        java.lang.IllegalStateException - if any required attributes are missing