All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xlrit.gears.engine.meta.PrintOptions Maven / Gradle / Ivy

package com.xlrit.gears.engine.meta;

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

public record PrintOptions(DecimalFormat decimalFormat, DateTimeFormatter dateTimeFormatter, DateTimeFormatter dateFormatter, DateTimeFormatter timeFormatter) {
    public static final PrintOptions NONE = null;
    public static final PrintOptions DEFAULT = getDefault();

    private static PrintOptions getDefault() {
        return forLocale(Locale.getDefault());
    }

    public static PrintOptions forLocale(Locale locale) {
        DecimalFormat decimalFormat = new DecimalFormat("###0.##", new DecimalFormatSymbols(locale));
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(locale); //DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(locale);
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM).withLocale(locale);
        return new PrintOptions(decimalFormat, dateTimeFormatter, dateFormatter, timeFormatter);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy