Package io.dialob.program.model
Class ImmutableProgram.Builder
- java.lang.Object
-
- io.dialob.program.model.ImmutableProgram.Builder
-
- Enclosing class:
- ImmutableProgram
@NotThreadSafe public static final class ImmutableProgram.Builder extends Object
Builds instances of typeImmutableProgram. Initialize attributes and then invoke thebuild()method to create an immutable instance.Builderis not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImmutableProgram.BuilderaddAllItems(Iterable<? extends Item> elements)Adds elements toitemslist.ImmutableProgram.BuilderaddAllValueSets(Iterable<? extends ValueSet> elements)Adds elements tovalueSetslist.ImmutableProgram.BuilderaddItems(Item element)Adds one element toitemslist.ImmutableProgram.BuilderaddItems(Item... elements)Adds elements toitemslist.ImmutableProgram.BuilderaddValueSets(ValueSet element)Adds one element tovalueSetslist.ImmutableProgram.BuilderaddValueSets(ValueSet... elements)Adds elements tovalueSetslist.ImmutableProgrambuild()Builds a newImmutableProgram.ImmutableProgram.Builderfrom(Program instance)Fill a builder with attribute values from the providedPrograminstance.ImmutableProgram.Builderid(String id)Initializes the value for theidattribute.ImmutableProgram.Builderitems(Iterable<? extends Item> elements)Sets or replaces all elements foritemslist.ImmutableProgram.BuilderrootItem(Item rootItem)Initializes the value for therootItemattribute.ImmutableProgram.BuildervalueSets(Iterable<? extends ValueSet> elements)Sets or replaces all elements forvalueSetslist.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutableProgram.Builder from(Program instance)
Fill a builder with attribute values from the providedPrograminstance. 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
@CanIgnoreReturnValue public final ImmutableProgram.Builder id(String id)
Initializes the value for theidattribute.- Parameters:
id- The value for id- Returns:
thisbuilder for use in a chained invocation
-
rootItem
@CanIgnoreReturnValue public final ImmutableProgram.Builder rootItem(Item rootItem)
Initializes the value for therootItemattribute.- Parameters:
rootItem- The value for rootItem- Returns:
thisbuilder for use in a chained invocation
-
addItems
@CanIgnoreReturnValue public final ImmutableProgram.Builder addItems(Item element)
Adds one element toitemslist.- Parameters:
element- A items element- Returns:
thisbuilder for use in a chained invocation
-
addItems
@CanIgnoreReturnValue public final ImmutableProgram.Builder addItems(Item... elements)
Adds elements toitemslist.- Parameters:
elements- An array of items elements- Returns:
thisbuilder for use in a chained invocation
-
items
@CanIgnoreReturnValue public final ImmutableProgram.Builder items(Iterable<? extends Item> elements)
Sets or replaces all elements foritemslist.- Parameters:
elements- An iterable of items elements- Returns:
thisbuilder for use in a chained invocation
-
addAllItems
@CanIgnoreReturnValue public final ImmutableProgram.Builder addAllItems(Iterable<? extends Item> elements)
Adds elements toitemslist.- Parameters:
elements- An iterable of items elements- Returns:
thisbuilder for use in a chained invocation
-
addValueSets
@CanIgnoreReturnValue public final ImmutableProgram.Builder addValueSets(ValueSet element)
Adds one element tovalueSetslist.- Parameters:
element- A valueSets element- Returns:
thisbuilder for use in a chained invocation
-
addValueSets
@CanIgnoreReturnValue public final ImmutableProgram.Builder addValueSets(ValueSet... elements)
Adds elements tovalueSetslist.- Parameters:
elements- An array of valueSets elements- Returns:
thisbuilder for use in a chained invocation
-
valueSets
@CanIgnoreReturnValue public final ImmutableProgram.Builder valueSets(Iterable<? extends ValueSet> elements)
Sets or replaces all elements forvalueSetslist.- Parameters:
elements- An iterable of valueSets elements- Returns:
thisbuilder for use in a chained invocation
-
addAllValueSets
@CanIgnoreReturnValue public final ImmutableProgram.Builder addAllValueSets(Iterable<? extends ValueSet> elements)
Adds elements tovalueSetslist.- Parameters:
elements- An iterable of valueSets elements- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutableProgram build()
Builds a newImmutableProgram.- Returns:
- An immutable instance of Program
- Throws:
IllegalStateException- if any required attributes are missing
-
-