CustomFormatHandler#
com.palmyralabs.palmyra.handlers.CustomFormatHandler
Escape hatch for bespoke output formats (PDF, JSON-lines, fixed-width, etc.).
Methods#
| Method | Signature |
|---|---|
getWriter |
CustomResultSetWriter getWriter(String format) |
Return a writer keyed on the requested format; Palmyra’s query pipeline pushes rows through it.
Example#
@Component
@CrudMapping(value = "/v1/admin/user/export", type = User.class)
public class UserCustomFormatHandler implements CustomFormatHandler {
@Override
public CustomResultSetWriter getWriter(String format) {
return switch (format.toLowerCase()) {
case "jsonl" -> new JsonLinesWriter();
case "pdf" -> new PdfReportWriter("Users");
case "tsv" -> new DelimitedWriter('\t');
default -> throw new UnsupportedFormatException(format);
};
}
}