Этот класс не использует шаблон Builder.
Это конструктор для создания RestTemplate
экземпляров. Тогда как название: RestTemplateBuilder
.
Метод для создания экземпляра RestTemplate
:
public RestTemplate build() {
return build(RestTemplate.class);
}
Мы можем видеть, что экземпляр класса RestTemplateBuilder
создается и возвращается этим открытым конструктором (т.е. не шаблоном компоновщика):
public RestTemplateBuilder(RestTemplateCustomizer... customizers) {
Assert.notNull(customizers, "Customizers must not be null");
this.detectRequestFactory = true;
this.rootUri = null;
this.messageConverters = null;
this.requestFactorySupplier = null;
this.uriTemplateHandler = null;
this.errorHandler = null;
this.basicAuthorization = null;
this.restTemplateCustomizers = Collections
.unmodifiableSet(new LinkedHashSet<>(Arrays.asList(customizers)));
this.requestFactoryCustomizers = Collections.emptySet();
this.interceptors = Collections.emptySet();
}
И кажется, что класс, по-видимому, должен быть неизменным.
Поэтому любые методы, определенные в RestTemplateBuilder
, которые изменяют текущее состояние, не возвращают this
, но создают новый экземпляр с примененным изменением.
Аналогично тому, что делают неизменные классы, такие как LocalDate
или String
.