В моем веб-приложении Spring Boot есть HTML-форма, которая заполняет объект Blueprint
:
data class Blueprint(
// relevant part, validation omitted
var items: List<Long> = emptyList() // List of ids
// ...
)
Позже я собираюсь использовать этот Blueprint
для создания Product
, который был бы классом данных аналогичной структуры:
data class Product(
val items: List<Item>
/* Here 'items' is a list of Item objects which are fetched from DB by */
/* their ids. Item is data class too. */
)
Я бы хотел, чтобы Product
принял объект Blueprint
в качестве аргумента конструктора.
Я пытался перейти с вторичнойконструктор, но это требует от меня немедленного вызова первичного конструктора, прежде чем у меня появится возможность обработать проект и, возможно, отфильтровать некоторые идентификаторы элементов.
Конечно, есть обходные пути, такие как фабричная функция, но кажется,Разумно ожидать, что я могу просто передать проект конструктору.
Есть ли способ сделать это?