org.agatom.springatom.webmvc.converters.LongToDateTimeConverter.java Source code

Java tutorial

Introduction

Here is the source code for org.agatom.springatom.webmvc.converters.LongToDateTimeConverter.java

Source

/**************************************************************************************************
 * This file is part of [SpringAtom] Copyright [kornicameister@gmail.com][2014]                   *
 *                                                                                                *
 * [SpringAtom] is free software: you can redistribute it and/or modify                           *
 * it under the terms of the GNU General Public License as published by                           *
 * the Free Software Foundation, either version 3 of the License, or                              *
 * (at your option) any later version.                                                            *
 *                                                                                                *
 * [SpringAtom] is distributed in the hope that it will be useful,                                *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of                                 *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                  *
 * GNU General Public License for more details.                                                   *
 *                                                                                                *
 * You should have received a copy of the GNU General Public License                              *
 * along with [SpringAtom].  If not, see <http://www.gnu.org/licenses/gpl.html>.                  *
 **************************************************************************************************/

package org.agatom.springatom.webmvc.converters;

import org.joda.time.DateTime;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.ConditionalConverter;
import org.springframework.core.convert.converter.Converter;

import java.util.Date;

/**
 * <small>Class is a part of <b>SpringAtom</b> and was created at 20.03.14</small>
 *
 * @author kornicameister
 * @version 0.0.1
 * @since 0.0.1
 */
public class LongToDateTimeConverter implements Converter<Long, DateTime>, ConditionalConverter {
    /** {@inheritDoc} */
    @Override
    public boolean matches(final TypeDescriptor sourceType, final TypeDescriptor targetType) {
        return sourceType.getType().isAssignableFrom(Long.class)
                && targetType.getType().isAssignableFrom(DateTime.class);
    }

    /** {@inheritDoc} */
    @Override
    public DateTime convert(final Long source) {
        final Date date = new Date(source);
        final String str = date.toString();
        return DateTime.parse(str);
    }
}