Wpis z mikrobloga

Chce zrobić własną adnotację która będzie ustawiać @JsonIgnore na false jeśli warunek zostanie spełniony.
Mam coś takiego:

@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonIgnore
public @interface Ann {
if(warunek)
.....
}

nie mam kompletnie pojęcia / pomysłu co wpisać zamiast kropek żeby ustawić @JsonIgnore na false.
Wiecie jak to opanować?

#java #naukaprogramowania
  • 7
  • Odpowiedz
@Bruno_: mam pole które w zależności od jednej ze zmiennych globalnych musi być serializowane lub nie. Chciałbym to załatwić jedna adnotacją, beż używania jakiś customowych serializerów, taki warunkowy @JsonIgnore
  • Odpowiedz
  • 0
@sprayy: A czemu nie w miarę globalny serializator? W pracy mam w jednym projekcie jakiś taki mechanizm (w zależności od configu na danym środowisku jakieś pola przy serializacji są chowane albo nie, takie feature flagi).

Z tego co pamiętam to opiera się to o customowy serializator jacksona, a klasy muszą implementować marker interfejs, którego ten serializator wymaga
  • Odpowiedz
@Lumeen: dzięki ;) sprawdziłem i jednak trochę pokombinowałem z @JsonInclude
@doubt: na chwilę obecną musze to zastosować do jednego pola tylko. Jeśli w przyszłości będzie tych pol więcej wtedy pomyśle nad twoja propozycja ;) póki co YAGNI ;) ale dziękuję
  • Odpowiedz