Все доменные объекты FusionAuth открыты (т.е. не являются неизменяемыми). Вы можете использовать шаблон Builder с интерфейсом Buildable
в клиенте FusionAuth Java, чтобы легко устанавливать значения.
Вот как может выглядеть некоторый код:
User u = new User().with(u -> u.preferredLanguages.add(Locale.English))
.with(u -> u.firstName = "Bob")
...
Поскольку preferredLanguages
является List<Locale>
, вы также можете использовать addAll
и любые другие List
методы.
Хотя этот метод не гарантирует, что объект User
будет полностью заполнен сразу после возврата конструктора, Java будет гарантировать, что переменная User u
из моего примера будет полностью заполнена, потому что методы with
все нужно вернуть до того, как выполнено левостороннее назначение.