/** * Sets or replaces all mappings from the specified map as entries for the {@link Project#getProjectSettings() projectSettings} map. Nulls are not permitted * @param projectSettings The entries that will be added to the projectSettings map * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue @JsonProperty("projectSettings") @JsonIgnore public final Project.Builder projectSettings(Map<String, ? extends String> projectSettings) { this.projectSettings = ImmutableMap.builder(); return putAllProjectSettings(projectSettings); }
/** * Fill a builder with attribute values from the provided {@code Project} 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. * @param instance The instance from which to copy values * @return {@code this} builder for use in a chained invocation */ @CanIgnoreReturnValue public final Project.Builder from(Project instance) { Objects.requireNonNull(instance, "instance"); name(instance.getName()); addAllSharedElements(instance.getSharedElements()); addAllUserPaths(instance.getUserPaths()); addAllServers(instance.getServers()); addAllVariables(instance.getVariables()); addAllPopulations(instance.getPopulations()); addAllScenarios(instance.getScenarios()); putAllProjectSettings(instance.getProjectSettings()); return (Project.Builder) this; }