Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.cantaa.util.wicket.converter;
 
 import java.util.Date;
 
Wicket-Converter for the Time-Type

Author(s):
Hans Lesmeister
public class TimeConverter extends AbstractConverter<Time> {
    @Override
    public Time convertToObject(String valueLocale locale) {
        if (StringUtil.isEmpty(value)) {
            return null;
        }
        if (locale == null) {
            locale = Locale.getDefault();
        }
        Format timeFormat = getTimeFormat(locale);
        return parse(timeFormatvaluelocale);
    }
    private SimpleDateFormat getTimeFormat(Locale locale) {
        return new TimeFormat(locale);
    }
    @Override
    public String convertToString(Time valueLocale locale) {
        if (value == null) {
            return null;
        }
        if (locale == null) {
            locale = Locale.getDefault();
        }
        Calendar cal = Calendar.getInstance(locale);
        int h = value.getHours();
        int m = value.getMinutes();
        cal.set(.h);
        cal.set(.m);
        if (value.isSimpleFormat() && (m == 0)) {
           return String.valueOf(h);
        }
        return getTimeFormat(locale).format(cal.getTime());
    }
    @Override
    protected Class<TimegetTargetType() {
        return Time.class;
    }
    private static class TimeFormat extends SimpleDateFormat {
        TimeFormat(Locale locale) {
            super("HH:mm"locale);
        }
        @Override
        public Object parseObject(String sourceParsePosition pos) {
            Date date = (Datesuper.parseObject(sourcepos);
            if (date == null) {
                return null;
            }
            Calendar c = getCalendar();
            c.setTime(date);
            int h = c.get(.);
            int m = c.get(.);
            return Time.valueOf(Long.valueOf((h * 60) + m));
        }
    }
New to GrepCode? Check out our FAQ X