Class ImmutableAstSource.Builder

java.lang.Object
io.resys.hdes.client.api.ast.ImmutableAstSource.Builder
Enclosing class:
ImmutableAstSource

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

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder from(AstBody.AstSource instance)
      Fill a builder with attribute values from the provided AstSource 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

      @CanIgnoreReturnValue public final ImmutableAstSource.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
    • hash

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder hash(String hash)
      Initializes the value for the hash attribute.
      Parameters:
      hash - The value for hash
      Returns:
      this builder for use in a chained invocation
    • bodyType

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder bodyType(AstBody.AstBodyType bodyType)
      Initializes the value for the bodyType attribute.
      Parameters:
      bodyType - The value for bodyType
      Returns:
      this builder for use in a chained invocation
    • addCommands

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder addCommands(AstCommand element)
      Adds one element to commands list.
      Parameters:
      element - A commands element
      Returns:
      this builder for use in a chained invocation
    • addCommands

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder addCommands(AstCommand... elements)
      Adds elements to commands list.
      Parameters:
      elements - An array of commands elements
      Returns:
      this builder for use in a chained invocation
    • commands

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder commands(Iterable<? extends AstCommand> elements)
      Sets or replaces all elements for commands list.
      Parameters:
      elements - An iterable of commands elements
      Returns:
      this builder for use in a chained invocation
    • addAllCommands

      @CanIgnoreReturnValue public final ImmutableAstSource.Builder addAllCommands(Iterable<? extends AstCommand> elements)
      Adds elements to commands list.
      Parameters:
      elements - An iterable of commands elements
      Returns:
      this builder for use in a chained invocation
    • build

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