У меня есть некоторый класс BaseX pojo, например:
public class Base1 {
private String base1Field1;
private String base1Field2;
// getter & setter
}
public class Base2 {
private String base2Field1;
private String base2Field2;
// getter & setter
}
И какой-то класс DomainVo pojo, у него есть поле и метод из класса BaseX, например:
//from base1
public class Domain1Vo {
private String domain1Field1;
private String base1Field1;
private String base1Field2;
// getter & setter
}
//from base1 & base 2
public class Domain2Vo {
private String domain2Field1;
private String base1Field1;
private String base1Field2;
private String base2Field1;
private String base2Field2;
// getter & setter
}
Не знаюЯ хочу скопировать и вставить эти поля из класса BaseX
в мой объект домена, но я не могу использовать extends Base1, Base2
, потому что Java не позволяет этого.
На самом деле я не использую BaseX
в своем кодеЯ определяю их, просто хочу, чтобы одно место поддерживало это поле.
update: я не могу изменить структуру моего доменного объекта, потому что он пришел из / в другой сервис как json.Кроме того, мне нужно использовать его для создания документа Swagger (я использую Springfox).Вот почему мне нужны и поле, и метод.
======== некоторые исследования, которые я провел
Я нашел библиотеку с именем lombok , в ней есть особенностьname @Delegate
https://projectlombok.org/features/experimental/Delegate
//from base1
public class Domain1Vo {
private String domain1Field1;
@Delegate
private Base1 base1;
// getter & setter
}
Может генерировать метод из BaseX
класса, но не из поля.