Pesquisar neste blog

sexta-feira, 17 de agosto de 2012

Exemplo de Converter de Timestamp para Calendar para ser usado com binding em Java

Para quem necessitar de um Converter de Timestamp para Calendar, segue abaixo um exemplo. Cabe ressaltar que faz grande diferença se o código está em ConvertForward ou ConvertReverse, Aprendi isso as duras penas. Ao tentar executar o sistema com os códigos invertidos recebia a seguinte mensagem de erro: Cannot cast java.util.GregorianCalendar to java.sql.Timestamp.




package br.com.claupers.reportsspdata.model;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import org.jdesktop.beansbinding.Converter;

public  class ConverterTimeStampToCalendar extends Converter<Calendar,Timestamp>{   
    public Timestamp convertForward(Calendar value) {       
        SimpleDateFormat format;
        format = new SimpleDateFormat("dd/MM/yyyy HH:MM");   
        format.setLenient(false);
        String stringData = format.format(value.getTime());
        Timestamp data=null;
        try {
            data = new Timestamp(format.parse(stringData).getTime());
        } catch (ParseException e) {           
            e.printStackTrace();
        }
         return data;
    }
   
   
    public Calendar convertReverse(Timestamp value)
    {   
        SimpleDateFormat format;
        format = new SimpleDateFormat("dd/MM/yyyy HH:MM");   
        format.setLenient(false);
        String stringData = format.format(value);
        Calendar data = Calendar.getInstance();
        try {
            data.setTimeInMillis(format.parse(stringData).getTime());
        } catch (ParseException e) {           
            e.printStackTrace();
        }
        return data;      
    }  
}

  

Seria isso.




Claudir Pereira dos Santos


Matelândia, 17 de agosto de 2012.   

Nenhum comentário:

Postar um comentário