Чтобы сделать это в простом Java, вам нужно создать отдельные классы Builder, первый для установки A, после чего возвращаемое значение является экземпляром второго Builder, который предназначен для настройки B.
Oneиз ограничений этого подхода является то, что он очень многословный, и плохо масштабируется, чтобы иметь множество дополнительных параметров.
В качестве альтернативы, я сделал это, написав плагин компилятора (я использовал ОшибкаСклонен , поскольку это проще всего сделать с системой сборки Google, но нет никаких причин, по которым нельзя использовать другой инструмент), который проверяет порядок вызова метода.