В настоящее время у нас есть несколько миксинов для наших объектов данных, чтобы аннотации не попадали в объекты данных.Так, например,
public class SomeDataObj {
private int a;
public int getA() { return this.a; }
public void setA(final int a) { this.a = a; }
}
public interface SomeDataObjMixin {
@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName = "A")
int getA();
@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName = "A")
void setA(int a);
}
Тогда в нашем классе объектного сопоставления у нас есть
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
public class OurXmlMapper extends XmlMapper {
public OurXmlMapper(final ConfigurableCaseStrategy caseStrategy) {
setPropertyNamingStrategy(caseStrategy);
setSerializationInclusion(Include.NON_NULL);
//yadda yadda
addMixin(SomeDataObj.class, SomeDataObjMixin.class);
// etc etc
}
Однако по разным причинам я хотел бы добавить новую аннотацию к приватному полю в данныхобъект, а не получатель или установщик.Есть ли способ сделать это через миксин для поддержания этого разделения?Я попытался создать базовый класс как миксин (не интерфейс) и добавил к нему приватное поле с новой аннотацией.Это не достигло того, что я искал.Есть идеи?