public static class Builder {
public Builder() {
this.headers = new TreeMap(String.CASE_INSENSITIVE_ORDER);
this.parameters = new TreeMap();
this.serverPort = 80;
}
public DefaultSavedRequest.Builder setCookies(List<SavedCookie> cookies) {
this.cookies = cookies;
return this;
}
Возвращается ссылка на себя. Этот "шаблон" позволяет писать такой код:
Builder builder = new Builder().setCookies(...).setShmookies(...).setSomethingElse(...);
Возвращается ссылка на текущий экземпляр объекта.
Это такой шаблон - Fluent Interface.
Приведу цитату:
Текучий интерфейс хорош тем, что упрощается множественный вызов методов одного объекта. Обычно это реализуется использованием цепочки методов, передающих контекст вызова следующему звену
Такой стиль косвенно полезен повышением наглядности и интуитивности кода. Однако может весьма пагубно сказаться на отладке, если цепочка действует как одно выражение, куда отладчик не всегда может установить промежуточную точку останова.
——
Вот что пишет про это господин Фаулер
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники