All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spreadsheet.mapper.o2w.compose.converter.buildin.LocalDateTimeConverter Maven / Gradle / Ivy

The newest version!
package spreadsheet.mapper.o2w.compose.converter.buildin;

import org.apache.commons.beanutils.NestedNullException;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.joda.time.LocalDateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import spreadsheet.mapper.model.core.Cell;
import spreadsheet.mapper.model.meta.FieldMeta;
import spreadsheet.mapper.o2w.compose.WorkbookComposeException;
import spreadsheet.mapper.o2w.compose.converter.FieldConverterAdapter;

/**
 * local date time text value with supplied pattern converter
 * 

* Created by hanwen on 5/3/16. */ public class LocalDateTimeConverter extends FieldConverterAdapter> { private static final Logger LOGGER = LoggerFactory.getLogger(LocalDateTimeConverter.class); private String pattern; public LocalDateTimeConverter pattern(String pattern) { this.pattern = pattern; return getThis(); } @Override protected LocalDateTimeConverter getThis() { return this; } @Override public String getValue(T object, Cell cell, FieldMeta fieldMeta) { try { Object value = PropertyUtils.getProperty(object, fieldMeta.getName()); if (!(value instanceof LocalDateTime)) { return null; } return ((LocalDateTime) value).toString(pattern); } catch (NestedNullException e) { LOGGER.debug("{} is null", fieldMeta.getName()); return null; } catch (Exception e) { LOGGER.error(ExceptionUtils.getStackTrace(e)); throw new WorkbookComposeException(e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy