Я определил несколько DeadlineEntities
в своем коде. Теперь у меня есть метод, который я хочу применить ко всем этим DeadlineEntities
. Чтобы не писать метод для каждой сущности, я решил решить это в общем.
Код
protected Multimap<Integer, Map<String, Double>> extract() throws IllegalAccessException {
Field[] fields = PurchasingDeadlineValuesEntity.class.getDeclaredFields();
Multimap<Integer, Map<String, Double>> map = ArrayListMultimap.create();
for (MandantKagAccountEntity mandantEntity : m_k_a_E) {
PurchasingDeadlineValuesEntity deadlineEntity = mandantEntity.getPurchasingDeadlineValuesEntity();
if (deadlineEntity != null) {
map.put(mandantEntity.getDb_5(), extractKagAndDeadlines(fields, deadlineEntity));
}
}
return map;
}
Теперь мне частично удалось создать его в общем, но я не могу продолжить.
Моя попытка
protected Multimap<Integer, Map<String, Double>> extract(Class<T> clazz, Function<? super T, Object> func) {
Field[] fields = clazz.getDeclaredFields();
Multimap<Integer, Map<String, Double>> map = ArrayListMultimap.create();
for (MandantKagAccountEntity mandantKagAccountEntity : m_k_a_E) {
}
return map;
}
Кто-нибудь знает, как мне поступить сейчас? Как получить объект из mandantKagAccountEntity и проверить, не является ли объект null
?
Я бы тогда вызвал метод следующим образом:
protected Multimap<Integer, Map<String, Double>> getMap() {
return this.extract(PurchasingDeadlineValuesEntity.class, MandantKagAccountEntity::getPurchasingDeadlineValuesEntity);
}
но здесь я получаю сообщение об ошибке, что метод не является stati c.
Может кто-нибудь сказать мне, что я делаю неправильно, и помочь мне?