
se.wfh.libs.common.web.ejb.DateEJB Maven / Gradle / Ivy
package se.wfh.libs.common.web.ejb;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import javax.ejb.EJB;
import javax.ejb.Singleton;
import se.wfh.libs.common.web.ejb.interfaces.DateBean;
@EJB(name = "DateEJB", beanInterface = DateBean.class)
@Singleton
public final class DateEJB implements DateBean {
private static final long serialVersionUID = 1L;
private static final DateFormat FMT_COMPLETE = DateFormat
.getDateTimeInstance();
private static final DateFormat FMT_DATE = DateFormat.getDateInstance();
private static final DateFormat FMD_TIME = DateFormat.getTimeInstance();
private static final SimpleDateFormat FMT_EXPORT = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
@Override
public Calendar cleanSeconds(final Calendar cal) {
if (cal != null) {
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
}
return cal;
}
@Override
public Calendar fromDisplayString(final String str) throws ParseException {
final GregorianCalendar cal = new GregorianCalendar();
synchronized (FMT_COMPLETE) {
cal.setTime(FMT_COMPLETE.parse(str));
}
return cal;
}
@Override
public Calendar fromDisplayStringDate(final String str) throws ParseException {
final GregorianCalendar cal = new GregorianCalendar();
synchronized (FMT_DATE) {
cal.setTime(FMT_DATE.parse(str));
}
return cal;
}
@Override
public Calendar fromDisplayStringTime(final String str) throws ParseException {
final GregorianCalendar cal = new GregorianCalendar();
synchronized (FMD_TIME) {
cal.setTime(FMD_TIME.parse(str));
}
return cal;
}
@Override
public Calendar fromExportString(final String str) throws ParseException {
final GregorianCalendar cal = new GregorianCalendar();
synchronized (FMT_EXPORT) {
cal.setTime(FMT_EXPORT.parse(str));
}
return cal;
}
@Override
public Calendar getWithoutTime(final Calendar cal) {
if (cal != null) {
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
}
return cal;
}
@Override
public Date getWithoutTime(final Date date) {
Date result = null;
if (date != null) {
Calendar cal = new GregorianCalendar();
cal.setTime(date);
result = getWithoutTime(cal).getTime();
}
return result;
}
@Override
public String toDisplayString(final Date date) {
synchronized (FMT_COMPLETE) {
return FMT_COMPLETE.format(date);
}
}
@Override
public String toDisplayStringDate(final Date date) {
synchronized (FMT_DATE) {
return FMT_DATE.format(date);
}
}
@Override
public String toDisplayStringTime(final Date date) {
synchronized (FMD_TIME) {
return FMD_TIME.format(date);
}
}
@Override
public String toExportString(final Date date) {
synchronized (FMT_EXPORT) {
return FMT_EXPORT.format(date);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy