Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/util/DynamicLocalTimeSerializer.java
2024-10-23 12:26:10 +05:30

27 lines
970 B
Java

package net.gepafin.tendermanagement.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class DynamicLocalTimeSerializer extends JsonSerializer<LocalTime> {
private static final DateTimeFormatter HH_MM_FORMAT = DateTimeFormatter.ofPattern("HH:mm");
private static final DateTimeFormatter HH_MM_SS_FORMAT = DateTimeFormatter.ofPattern("HH:mm:ss");
@Override
public void serialize(LocalTime time, JsonGenerator gen, SerializerProvider serializers) throws IOException {
// Use HH:mm if seconds are 00, otherwise use HH:mm:ss
String formattedTime = (time.getSecond() == 0)
? time.format(HH_MM_FORMAT)
: time.format(HH_MM_SS_FORMAT);
gen.writeString(formattedTime);
}
}