blob: ba6febe17bde97ee9a3543fa57f61353e030431b [file] [log] [blame]
package eu.mulk.mulkcms2.common.template;
import io.quarkus.qute.TemplateExtension;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalAccessor;
import javax.annotation.CheckForNull;
public class TemporalExtensions {
private static final DateTimeFormatter htmlDateTimeFormatter =
DateTimeFormatter.ISO_OFFSET_DATE_TIME;
private static final DateTimeFormatter humanDateTimeFormatter =
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG, FormatStyle.SHORT);
private static final DateTimeFormatter htmlDateFormatter = DateTimeFormatter.ISO_LOCAL_DATE;
private static final DateTimeFormatter humanDateFormatter =
DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
@TemplateExtension
@CheckForNull
static String humanDateTime(@CheckForNull Temporal x) {
if (x == null) {
return null;
}
return humanDateTimeFormatter.format(x);
}
@TemplateExtension
@CheckForNull
static String htmlDateTime(@CheckForNull TemporalAccessor x) {
if (x == null) {
return null;
}
return htmlDateTimeFormatter.format(x);
}
@TemplateExtension
@CheckForNull
static String humanDate(@CheckForNull Temporal x) {
if (x == null) {
return null;
}
return humanDateFormatter.format(x);
}
@TemplateExtension
@CheckForNull
static String htmlDate(@CheckForNull LocalDate x) {
if (x == null) {
return null;
}
return htmlDateFormatter.format(x);
}
}