package art.servers.transactionsserver.test.serialization; import art.library.model.devices.application.ApplicationAlarms; import art.library.model.devices.cctv.camera.CameraAlarms; import art.library.model.devices.etd.EtdAlarms; import art.library.model.devices.location.LocationAlarms; import art.library.model.devices.meteo.MeteoAlarms; import art.library.model.devices.vms.trax.VmsTraxAlarms; import art.servers.transactionsserver.model.alarms.ModelAlarms; import com.fasterxml.jackson.annotation.JsonProperty; import java.lang.reflect.Field; import java.util.HashSet; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; public class GetAlarms { public static void main(String[] args) { Class[] ldeviceAlarms = { CameraAlarms.class, ApplicationAlarms.class, EtdAlarms.class, LocationAlarms.class, MeteoAlarms.class, VmsTraxAlarms.class, }; Set lalarms = new HashSet<>(); for (Class ldeviceAlarm : ldeviceAlarms) { for (Field field : ldeviceAlarm.getFields()) { try { if (field.isAnnotationPresent(JsonProperty.class)) { String annotationValue = field.getAnnotation(JsonProperty.class).value(); if (annotationValue.indexOf("Alarm") == 0) { lalarms.add(annotationValue); field.setAccessible(true); } } } catch (Exception e) { Logger.getLogger(ModelAlarms.class.getName()).log(Level.INFO, "", e); } } } for (String annotationValue : lalarms) { System.out.println(annotationValue.replace(" ", ".") + " = " + annotationValue); } } }