Я не уверен, будет ли эта ситуация в большей степени связана с генериками , чем DTO , но здесь это так:
У меня есть DTO, представляющее Человек .A Person может иметь как детей прочее Person (s) или просто ResourceLink для тех Person (s),Это означает, что ребенок может быть одного из двух типов: Person (DTO) или ResourceLink .Какой это будет тип, определяется с помощью queryParam и, следовательно, логически с помощью следующего потока.Я хочу представить их, используя только ONE объект коллекции, и не знаю, как лучше всего это сделать.
Вот что у меня есть:
public class PersonDTO<T> {
@XmlElementWrapper(name = "children")
@XmlElement(name = "child")
List<T> children;
// other stuff
}
При таком подходе мне нужно определить переведенный тип на основе условия if...else
.
Ранее у меня было 2 разных коллекции, одна из которых осталась NULL ,Я также думал об извлечении вещи отношения в новом DTO как ChildrenDTO (не уверен, что это отличная идея)
Я хотел бы знать, есть ли лучшая практика для этой ситуациив противном случае, если возможно объявить PersonDTO<PersonDTO>
или PersonDTO<ResourceLink>
в зависимости от условия.
Заранее спасибо!