Я создаю отчет, который должен включать столбец «оценка», основанный на данных, которых нет в наборе данных.
В идеале я хотел бы иметь возможность определить интерфейс Java
public int getEstimate(int foo_id, int bar_id, int quantity);
где foo_id
, bar_id
и quantity
доступны в строке, в которой я хочу представить оценку.
Будет несколько стратегий для получения оценки, поэтому было бы хорошо использовать интерфейс, позволяющий менять их местами при необходимости.
Глядя на документы BIRT, я думаю, что, возможно, мне следует использовать механизмы обработчика событий, но это, похоже, позволяет только определить класс для использования, и я как-то хотел бы внедрить настроенный оценщик.
В качестве незапутанного примера можно сказать, что у меня есть набор данных, который включает столбец IP-адреса, и я хотел бы иметь возможность использовать какой-либо сервис GeoIP для определения страны по IP-адресу. В этом случае у меня будет интерфейс public String getCountryName(String address)
, а реальные реализации могут использовать MaxMind, локальный кеш или какую-то другую систему.
Как мне это сделать?
Или... не лучше ли мне написать источник данных со сценарием, который может интегрировать вычисленные данные перед их доставкой в BIRT?
Или... какой-то сценарий источника данных, который затем используется для создания набора данных соединения?