1 43 44 package org.jfree.xml.factory.objects; 45 46 import java.util.Calendar ; 47 import java.util.Date ; 48 import java.util.GregorianCalendar ; 49 50 55 public class DateObjectDescription extends AbstractObjectDescription { 56 57 60 public DateObjectDescription() { 61 super(Date .class); 62 setParameterDefinition("year", Integer .class); 63 setParameterDefinition("month", Integer .class); 64 setParameterDefinition("day", Integer .class); 65 } 66 67 72 public Object createObject() { 73 final int y = getIntParameter("year"); 74 final int m = getIntParameter("month"); 75 final int d = getIntParameter("day"); 76 77 return new GregorianCalendar (y, m, d).getTime(); 78 } 79 80 87 private int getIntParameter(final String param) { 88 final Integer p = (Integer ) getParameter(param); 89 if (p == null) { 90 return 0; 91 } 92 return p.intValue(); 93 } 94 95 102 public void setParameterFromObject(final Object o) throws ObjectFactoryException { 103 if (o instanceof Date ) { 104 final GregorianCalendar gc = new GregorianCalendar (); 105 gc.setTime((Date ) o); 106 final int year = gc.get(Calendar.YEAR); 107 final int month = gc.get(Calendar.MONTH); 108 final int day = gc.get(Calendar.DAY_OF_MONTH); 109 110 setParameter("year", new Integer (year)); 111 setParameter("month", new Integer (month)); 112 setParameter("day", new Integer (day)); 113 } 114 else { 115 throw new ObjectFactoryException("Is no instance of java.util.Date"); 116 } 117 118 } 119 } 120 | Popular Tags |