Package io.dialob.program.expr.arith
Class ImmutablePair.Builder<L,R>
- java.lang.Object
-
- io.dialob.program.expr.arith.ImmutablePair.Builder<L,R>
-
- Enclosing class:
- ImmutablePair<L,R>
@NotThreadSafe public static final class ImmutablePair.Builder<L,R> extends Object
Builds instances of typeImmutablePair. 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 ImmutablePair<L,R>build()Builds a newImmutablePair.ImmutablePair.Builder<L,R>from(Pair<L,R> instance)Fill a builder with attribute values from the providedPairinstance.ImmutablePair.Builder<L,R>left(L left)Initializes the value for theleftattribute.ImmutablePair.Builder<L,R>right(R right)Initializes the value for therightattribute.
-
-
-
Method Detail
-
from
@CanIgnoreReturnValue public final ImmutablePair.Builder<L,R> from(Pair<L,R> instance)
Fill a builder with attribute values from the providedPairinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
left
@CanIgnoreReturnValue public final ImmutablePair.Builder<L,R> left(L left)
Initializes the value for theleftattribute.- Parameters:
left- The value for left- Returns:
thisbuilder for use in a chained invocation
-
right
@CanIgnoreReturnValue public final ImmutablePair.Builder<L,R> right(R right)
Initializes the value for therightattribute.- Parameters:
right- The value for right- Returns:
thisbuilder for use in a chained invocation
-
build
public ImmutablePair<L,R> build()
Builds a newImmutablePair.- Returns:
- An immutable instance of Pair
- Throws:
IllegalStateException- if any required attributes are missing
-
-