/** * Copy the current immutable object by replacing the {@link IntegrationDeployment#getStepsDone() stepsDone} map with the specified map. * Nulls are not permitted as keys or values. * A shallow reference equality check is used to prevent copying of the same value by returning {@code this}. * @param entries The entries to be added to the stepsDone map * @return A modified copy of {@code this} object */ public final ImmutableIntegrationDeployment withStepsDone(Map<String, ? extends String> entries) { if (this.stepsDone == entries) return this; Map<String, String> newValue = createUnmodifiableMap(true, false, entries); return validate(new ImmutableIntegrationDeployment( this, this.integrationId, this.spec, this.userId, this.currentState, this.targetState, newValue, this.statusMessage, this.id, this.version, this.createdAt, this.updatedAt)); }
this.currentState = Objects.requireNonNull(currentState, "currentState"); this.targetState = Objects.requireNonNull(targetState, "targetState"); this.stepsDone = createUnmodifiableMap(true, false, stepsDone); this.statusMessage = statusMessage.orElse(null); this.id = id.orElse(null);
initShim.stepsDone(createUnmodifiableMap(false, false, builder.stepsDone));