Conversores do mesmo Tipo com VRaptor

6 respostas
K

E aew Galera,

mais uma vez estou com dúvida a respeito dos conversores do VRaptor
eu já implementei o seguinte conversor

@Convert(Date.class)
public class DateConverter implements Converter<Date> {

	@Override
	public Date convert(String value, Class<? extends Date> arg1,
			ResourceBundle arg2) {
		try {
			return new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(value);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}

}

gostaria de saber se é possivel implementar outro conversor para data com outro tipo de formatacão
exemplo:

SimpleDateFormat("dd/MM/yyyy").parse(value);

porque em alguns casos na minha aplicacão a data e formatada de duas maneiras, com hora e sem.

6 Respostas

lucasmurata

Não sei se tem um jeito mais elegante, mas uma vez tive que fazer isso e coloquei regex para casar os formatos e os converter conforme seu formato.

K

Não entendi como voce fez isto utilizando Regex.

Lucas_Cavalcanti

ksio, e como você selecionaria que quer o formato completo ou só a data?

K

Por exemplo, em uma determinada pagina eu tenho um datePicker com o formato dd/mm/yyyy, ja em outra página eu pego o valor de um atributo passado pelo controller no formato dd/MM/yyyy HH:mm:ss

Rafael_Guerreiro

Sei que parece POG, mas você pode simplesmente olhar o length da variável String value.
Se for 10 (dd/MM/yyyy) vc converte nesse formato, se for 19 (dd/MM/yyyy HH:mm:ss) você formata dessa forma.
Se for nulo ou diferente desses dois números você teria que dar uma olhada e incluir uma nova regra.

Lucas_Cavalcanti

Um jeito melhor seria usar o Joda-Time, que tem um objeto pra data, outro pra hora, e outro pra data e hora, daí fica mais fácil gerenciar isso também.

Criado 16 de fevereiro de 2012
Ultima resposta 16 de fev. de 2012
Respostas 6
Participantes 4