Exemplo n.º 1
0
 // calculates the alignment to use
 private AsciiTableAlignment calculateAlignment(Class<?> columnType) {
   FormatSettings<Object> formatSettings =
       formatSettingsProvider.settings(columnType, defaultSettings);
   boolean isNumeric =
       formatSettings.getCategory() == FormatCategory.NUMERIC
           || formatSettings.getCategory() == FormatCategory.DATE;
   return isNumeric ? AsciiTableAlignment.RIGHT : AsciiTableAlignment.LEFT;
 }
Exemplo n.º 2
0
 // -------------------------------------------------------------------------
 private ASCIITableHeader toAsciiTableHeader(String header, Class<?> columnType) {
   FormatSettings formatSettings =
       formatSettingsProvider.getSettings(columnType, fallbackSettings);
   boolean isNumeric =
       formatSettings.getCategory() == FormatCategory.NUMERIC
           || formatSettings.getCategory() == FormatCategory.DATE;
   int align = isNumeric ? AsciiTable.ALIGN_RIGHT : AsciiTable.ALIGN_LEFT;
   return ASCIITableHeader.h(header, align, align);
 }
Exemplo n.º 3
0
 // -------------------------------------------------------------------------
 @SuppressWarnings("unchecked")
 protected String formatValue(Object value, ReportOutputFormat format) {
   Object formatValue = value instanceof Optional ? ((Optional<?>) value).orElse(null) : value;
   if (formatValue == null) {
     return "";
   }
   FormatSettings formatSettings =
       formatSettingsProvider.getSettings(formatValue.getClass(), fallbackSettings);
   ValueFormatter<Object> formatter = (ValueFormatter<Object>) formatSettings.getFormatter();
   if (format == ReportOutputFormat.CSV) {
     return formatter.formatForCsv(formatValue);
   } else {
     return formatter.formatForDisplay(formatValue);
   }
 }