To reiterate your requirement, you want a Calendar and Date to print the same. So the first thing to do is get your Date instance to print in the appropriate format. Then if you pass in a Calendar (as determined by an instanceof check), simply call the method again with the Date:
objectToString(((Calendar)object).getTime(), clazz, context); Paul On Tue, Aug 3, 2010 at 1:19 PM, Rik Scarborough <[email protected]> wrote: > Where do I call getTime() at? I never see the object in the > ObjectStringConverter as a Calendar. > > ~Rik > > On Tue, Aug 3, 2010 at 1:11 PM, Paul Benedict <[email protected]> > wrote: > > > Call getTime() to transform Calendar to Date, and then use > SimpleDateFormat > > to transform into a string. > > > > On Tue, Aug 3, 2010 at 1:03 PM, Rik Scarborough <[email protected]> > wrote: > > > > > How do you write out a Calendar as a String, such as > 1993-12-01T00:00:00Z > > > > > > I've added a ObjectStringConverter that will convert a Date, but it > seems > > > to > > > ignore the Calendar. > > > > > > public String objectToString(Object object, Class type, Context > > > context) { > > > if(object != null) { > > > if(object instanceof java.util.Date) { > > > return formatter.format((java.util.Date) object); > > > } else if (object instanceof java.util.Calendar) { > > > logger.info("Class type " + type.getName()); //<< > > > never > > > gets printed. > > > return formatter.format(((java.util.Calendar) > > > object).getTime()); > > > } > > > } > > > return super.objectToString(object, type, context); > > > } > > > > > > I need the same result for Calendar as Date would print out. Any > > > suggestions? > > > > > > ~Rik > > > > > >
