1 43 44 package org.jfree.xml.factory.objects; 45 46 import java.text.DateFormatSymbols ; 47 import java.text.NumberFormat ; 48 import java.text.SimpleDateFormat ; 49 import java.util.Calendar ; 50 import java.util.Date ; 51 52 57 public class SimpleDateFormatObjectDescription extends BeanObjectDescription { 58 59 62 public SimpleDateFormatObjectDescription() { 63 this(SimpleDateFormat .class); 64 } 65 66 71 public SimpleDateFormatObjectDescription(final Class className) { 72 this(className, true); 73 } 74 75 81 public SimpleDateFormatObjectDescription(final Class className, final boolean init) { 82 super(className, false); 83 setParameterDefinition("2DigitYearStart", Date .class); 84 setParameterDefinition("calendar", Calendar .class); 85 setParameterDefinition("dateFormatSymbols", DateFormatSymbols .class); 86 setParameterDefinition("lenient", Boolean.TYPE); 87 setParameterDefinition("numberFormat", NumberFormat .class); 88 setParameterDefinition("localizedPattern", String .class); 90 setParameterDefinition("pattern", String .class); 91 ignoreParameter("localizedPattern"); 92 ignoreParameter("pattern"); 93 } 94 95 103 public void setParameterFromObject(final Object o) 104 throws ObjectFactoryException { 105 super.setParameterFromObject(o); 106 final SimpleDateFormat format = (SimpleDateFormat ) o; 107 setParameter("localizedPattern", format.toLocalizedPattern()); 108 setParameter("pattern", format.toPattern()); 109 } 110 111 116 public Object createObject() { 117 final SimpleDateFormat format = (SimpleDateFormat ) super.createObject(); 118 if (getParameter("pattern") != null) { 119 format.applyPattern((String ) getParameter("pattern")); 120 } 121 if (getParameter("localizedPattern") != null) { 122 format.applyLocalizedPattern((String ) getParameter("localizedPattern")); 123 } 124 return format; 125 } 126 127 } 128 | Popular Tags |