Package io.resys.hdes.client.api.ast
Class ImmutableAstSource.Builder
java.lang.Object
io.resys.hdes.client.api.ast.ImmutableAstSource.Builder
- Enclosing class:
- ImmutableAstSource
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 Summary
Modifier and TypeMethodDescriptionaddAllCommands(Iterable<? extends AstCommand> elements) Adds elements tocommandslist.addCommands(AstCommand element) Adds one element tocommandslist.addCommands(AstCommand... elements) Adds elements tocommandslist.bodyType(AstBody.AstBodyType bodyType) Initializes the value for thebodyTypeattribute.build()Builds a newImmutableAstSource.commands(Iterable<? extends AstCommand> elements) Sets or replaces all elements forcommandslist.from(AstBody.AstSource instance) Fill a builder with attribute values from the providedAstSourceinstance.Initializes the value for thehashattribute.Initializes the value for theidattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedAstSourceinstance. 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:
thisbuilder for use in a chained invocation
-
id
Initializes the value for theidattribute.- Parameters:
id- The value for id- Returns:
thisbuilder for use in a chained invocation
-
hash
Initializes the value for thehashattribute.- Parameters:
hash- The value for hash- Returns:
thisbuilder for use in a chained invocation
-
bodyType
@CanIgnoreReturnValue public final ImmutableAstSource.Builder bodyType(AstBody.AstBodyType bodyType) Initializes the value for thebodyTypeattribute.- Parameters:
bodyType- The value for bodyType- Returns:
thisbuilder for use in a chained invocation
-
addCommands
Adds one element tocommandslist.- Parameters:
element- A commands element- Returns:
thisbuilder for use in a chained invocation
-
addCommands
Adds elements tocommandslist.- Parameters:
elements- An array of commands elements- Returns:
thisbuilder for use in a chained invocation
-
commands
@CanIgnoreReturnValue public final ImmutableAstSource.Builder commands(Iterable<? extends AstCommand> elements) Sets or replaces all elements forcommandslist.- Parameters:
elements- An iterable of commands elements- Returns:
thisbuilder for use in a chained invocation
-
addAllCommands
@CanIgnoreReturnValue public final ImmutableAstSource.Builder addAllCommands(Iterable<? extends AstCommand> elements) Adds elements tocommandslist.- Parameters:
elements- An iterable of commands elements- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableAstSource.- Returns:
- An immutable instance of AstSource
- Throws:
IllegalStateException- if any required attributes are missing
-