O título do tópico não ficou bom, vou tentar explicar o problema. Estou criando uma taglib para facilitar a criação das telas do sistema onde trabalho. Uma das tags deve, entre outras coisas, imprimir o valor de um objeto, que pode ser dos tipos String, Integer, Boolean e GregorianCalendar. Essa tag possui um atributo Object valor, que recebe via EL o objeto que deve ser impresso. Quando o objeto é uma String, Integer ou Boolean eu consigo tranquilo, o problema é quando o objeto é um GregorianCalendar. Nesse caso, o atributo valor não recebe um objeto GregorianCalendar e sim uma String parecida com essa:
java.util.GregorianCalendar[time=1178107352343,
areFieldsSet=true,areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="GMT-03:00",
offset=-10800000,dstSavings=0,useDaylight=false,transitions=0,
lastRule=null],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,
YEAR=2007,MONTH=4,WEEK_OF_YEAR=18,WEEK_OF_MONTH=1,
DAY_OF_MONTH=2,DAY_OF_YEAR=122,DAY_OF_WEEK=4,
DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,
MINUTE=2,SECOND=32,MILLISECOND=343,ZONE_OFFSET=-10800000,
DST_OFFSET=0]
ps: coloquei espaços para não quebrar a página, a original não tem espaços.
Estou pensando seriamente em criar um método que identifique que essa String é um objeto GregorianCalendar (pelo início da String) e convertê-la (percorrendo a String e pegando os valores de data). Alguém tem uma solução melhor?
abraços a todos!