В моем коде, я буду иметь много добытчиков, как это с тем же набором аннотаций (один для Hibernate и других для Jackson):Объединение нескольких произвольных аннотаций в одном
@Transient
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = BaseEntity.JSON_DATETIME_FORMAT)
public LocalDateTime getCreatedDateDT() {
return DateTimeUtils.klabTimestampToLocalDateTime(getCreatedDate(), createdDateDT);
}
Я хочу минимизировать repetion пути внедрения своей собственную аннотации, что будет означать все эти четыре вместе, как это:
@TransientLocalDateTime
public LocalDateTime getCreatedDateDT() {
return DateTimeUtils.klabTimestampToLocalDateTime(getCreatedDate(), createdDateDT);
}
Как я могу это сделать? Возможно ли это?
UPDATE Благодаря Константину Йовкова, теперь я знаю, что я могу объединить все аннотации Джексона в одном, но это потому, что процессор аннотаций Джексона признает такой трюк. Интересно, можно ли сделать любым обработчиком аннотаций? Мне кажется, что это не так.
Это полезно, но оно может быть использовано для любых аннотаций или для Джексона только аннотации? Кажется, '@ Transient' здесь не допускается. –
Я могу использовать для произвольных аннотаций, но может обрабатываться только обработчиком комментариев Jackson ... если вы не пишете пользовательский обработчик аннотации, но тогда я считаю, что вы можете просто ввести совершенно новую аннотацию (а не использовать '@JacksonAnnotationsInside'), который обрабатывается вашим обработчиком аннотаций. –
Кроме того, я получаю '@TransientLocalDateTime неприменимо к ошибке метода в моей среде IDE. –