ultima-reports-api:1.2.2
В данном разделе приведено описание API подсистемы подготовки отчётов Платформы НЕЙРОСС.
Основные классы API в составе артефакта ultima-reports-api_<версия>.jar:
Класс | Описание |
|---|---|
extensions.reports.ReportDefinition | Базовый абстрактный класс для всех классов реализации шаблонов отчётов. Основные методы класса: def init(conf: Config, loader: ReportDefinitionLoader): UnitВ реализации данного метода следует выполнить инициализацию шаблона. Метод вызывается логикой Платформы НЕЙРОСС в тот момент, когда пользователь хочет сформировать отчёт по выбранному шаблону. В метод передаются объекты классов Config (соответствует содержимому файла report.conf) и ReportDefinitionLoader — последний позволяет получить доступ к файлам в папке шаблона отчёта (например, для загрузки jasper-файла). def title: StringДолжен возвращать название шаблона, которое будет выведено в веб-интерфейсе Платформы НЕЙРОСС. def description: StringДолжен возвращать описание шаблона, которое будет выведено в веб-интерфейсе Платформы НЕЙРОСС. def renderForm(...): Result def processForm(...): AnyRef def generateReport(format: String, form: AnyRef, dataSource: javax.sql.DataSource, to: File)
def customAction(path: String): Action |
extensions.reports.JasperReportDefinition | Класс реализации шаблона отчёта с поддержкой JasperReports Library, который формирует отчёт на основе jasper-шаблонов. Является потомком extensions.reports.ReportDefinition. Можно использовать этот класс как есть, если не требуется поддержки формы ввода параметров. |
extensions.reports.GenericFormField | Интерфейс для класса поля ввода. Определяет обязательные методы любого класса поля ввода: def key(): String def title(): String def render(): Html def parse(value: String): AnyRef |
extensions.reports.GenericFormSupport | Утилитарный трэйт поддержки базовой формы ввода параметров. Хранит карту объектов полей ввода (потомков extensions.reports.GenericFormField), генерирует базовую форму ввода параметров со списком полей ввода. Основные методы: def registerField(field: GenericFormField): Unit def renderFormAction: Action[AnyContent] def processForm(request: Request[MultipartFormData[TemporaryFile]]): AnyRef |
extensions.reports.JasperFormField | Интерфейс поля ввода для Jasper-параметра. Является потомком extensions.reports.GenericFormField. Определяет новый метод def init(jrParameter: JRParameter): Unit, который вызывается в extensions.reports.GenericJasperReportDefinition при инициализации списка полей ввода по Jasper-параметрам. |
extensions.reports.GenericJasperReportDefinition | Класс базовой реализации шаблона отчёта, который формирует отчёт на основе jasper-шаблонов и умеет генерировать по jasper-файлу форму для ввода параметров. Является потомком extensions.reports.JasperReportDefinition и extensions.reports.GenericFormSupport. |
extensions.reports.generic.AbstractJasperFormField | Абстрактный класс базовой реализации поля ввода для Jasper-параметра. Реализует интерфейс extensions.reports.JasperFormField: def key(): String def title(): String |
extensions.reports.generic.DateTimeFormField | Реализация поля ввода даты / времени. Возможности по использованию данного поля описаны в Поля ввода параметров для отчётов JasperReports. |
extensions.reports.generic.InputFormField | Реализация полей ввода текста / числа. Возможности по использованию данного поля описаны в Поля ввода параметров для отчётов JasperReports. |
extensions.reports.generic.SQLChoiceFormField | Реализация поля выбора опций из списка. Опции загружаются из базы данных в соответствии с заданным SQL-запросом. Возможности по использованию данного поля описаны в Поля ввода параметров для отчётов JasperReports. |
extensions.reports.generic.OriginFormField | Реализация скрытого поля для передачи в отчёт базового URL сервера Платформы НЕЙРОСС. Для встраивания гиперссылок в отчёт. Возможности по использованию данного поля описаны в Поля ввода параметров для отчётов JasperReports. |