1 43 package org.jfree.xml.factory.objects; 44 45 import java.awt.BasicStroke ; 46 import java.awt.Color ; 47 import java.awt.Dimension ; 48 import java.awt.geom.Dimension2D ; 49 import java.awt.geom.Line2D ; 50 import java.awt.geom.Point2D ; 51 import java.awt.geom.Rectangle2D ; 52 import java.text.DateFormat ; 53 import java.text.DateFormatSymbols ; 54 import java.text.DecimalFormat ; 55 import java.text.DecimalFormatSymbols ; 56 import java.text.Format ; 57 import java.text.NumberFormat ; 58 import java.text.SimpleDateFormat ; 59 import java.util.ArrayList ; 60 import java.util.Collection ; 61 import java.util.Date ; 62 import java.util.HashSet ; 63 import java.util.List ; 64 import java.util.Set ; 65 import java.util.TreeSet ; 66 import java.util.Vector ; 67 68 import org.jfree.ui.FloatDimension; 69 70 76 public class JavaBaseClassFactory extends ClassFactoryImpl { 77 78 81 public JavaBaseClassFactory() { 82 registerClass(Dimension .class, new DimensionObjectDescription()); 83 registerClass(Dimension2D .class, new Dimension2DObjectDescription()); 84 registerClass(FloatDimension.class, new BeanObjectDescription(FloatDimension.class)); 85 registerClass(Date .class, new DateObjectDescription()); 86 registerClass(Boolean.TYPE, new BooleanObjectDescription()); 87 registerClass(Byte.TYPE, new ByteObjectDescription()); 88 registerClass(Double.TYPE, new DoubleObjectDescription()); 89 registerClass(Float.TYPE, new FloatObjectDescription()); 90 registerClass(Integer.TYPE, new IntegerObjectDescription()); 91 registerClass(Long.TYPE, new LongObjectDescription()); 92 registerClass(Short.TYPE, new ShortObjectDescription()); 93 registerClass(Character.TYPE, new CharacterObjectDescription()); 94 registerClass(Character .class, new CharacterObjectDescription()); 95 registerClass(Boolean .class, new BooleanObjectDescription()); 96 registerClass(Byte .class, new ByteObjectDescription()); 97 registerClass(Double .class, new DoubleObjectDescription()); 98 registerClass(Float .class, new FloatObjectDescription()); 99 registerClass(Integer .class, new IntegerObjectDescription()); 100 registerClass(Long .class, new LongObjectDescription()); 101 registerClass(Short .class, new ShortObjectDescription()); 102 registerClass(Line2D .class, new Line2DObjectDescription()); 103 registerClass(Point2D .class, new Point2DObjectDescription()); 104 registerClass(Rectangle2D .class, new Rectangle2DObjectDescription()); 105 registerClass(String .class, new StringObjectDescription()); 106 registerClass(Color .class, new ColorObjectDescription()); 107 registerClass(BasicStroke .class, new BasicStrokeObjectDescription()); 108 registerClass(Object .class, new ClassLoaderObjectDescription()); 109 110 registerClass(Format .class, new ClassLoaderObjectDescription()); 111 registerClass(NumberFormat .class, createNumberFormatDescription()); 112 registerClass(DecimalFormat .class, new DecimalFormatObjectDescription()); 113 registerClass(DecimalFormatSymbols .class, createDecimalFormatSymbols()); 114 registerClass(DateFormat .class, new ClassLoaderObjectDescription()); 115 registerClass(SimpleDateFormat .class, new SimpleDateFormatObjectDescription()); 116 registerClass(DateFormatSymbols .class, new ClassLoaderObjectDescription()); 117 118 registerClass(ArrayList .class, new CollectionObjectDescription(ArrayList .class)); 119 registerClass(Vector .class, new CollectionObjectDescription(Vector .class)); 120 registerClass(HashSet .class, new CollectionObjectDescription(HashSet .class)); 121 registerClass(TreeSet .class, new CollectionObjectDescription(TreeSet .class)); 122 registerClass(Set .class, new CollectionObjectDescription(HashSet .class)); 123 registerClass(List .class, new CollectionObjectDescription(ArrayList .class)); 124 registerClass(Collection .class, new CollectionObjectDescription(ArrayList .class)); 125 } 126 127 private ObjectDescription createNumberFormatDescription () { 128 final BeanObjectDescription nfDesc = 129 new BeanObjectDescription(NumberFormat .class, false); 130 nfDesc.setParameterDefinition("groupingUsed", Boolean.TYPE); 131 nfDesc.setParameterDefinition("maximumFractionDigits", Integer.TYPE); 132 nfDesc.setParameterDefinition("minimumFractionDigits", Integer.TYPE); 133 nfDesc.setParameterDefinition("maximumIntegerDigits", Integer.TYPE); 134 nfDesc.setParameterDefinition("minimumIntegerDigits", Integer.TYPE); 135 nfDesc.setParameterDefinition("parseIntegerOnly", Boolean.TYPE); 136 return nfDesc; 137 } 138 139 private ObjectDescription createDecimalFormatSymbols() { 140 final BeanObjectDescription dfsDesc = 141 new BeanObjectDescription(DecimalFormatSymbols .class, false); 142 dfsDesc.setParameterDefinition("currencySymbol", String .class); 143 dfsDesc.setParameterDefinition("decimalSeparator", Character.TYPE); 144 dfsDesc.setParameterDefinition("digit", Character.TYPE); 145 dfsDesc.setParameterDefinition("groupingSeparator", Character.TYPE); 146 dfsDesc.setParameterDefinition("infinity", String .class); 147 dfsDesc.setParameterDefinition("internationalCurrencySymbol", String .class); 148 dfsDesc.setParameterDefinition("minusSign", Character.TYPE); 149 dfsDesc.setParameterDefinition("monetaryDecimalSeparator", Character.TYPE); 150 dfsDesc.setParameterDefinition("naN", String .class); 151 dfsDesc.setParameterDefinition("patternSeparator", Character.TYPE); 152 dfsDesc.setParameterDefinition("perMill", Character.TYPE); 153 dfsDesc.setParameterDefinition("percent", Character.TYPE); 154 dfsDesc.setParameterDefinition("zeroDigit", Character.TYPE); 155 return dfsDesc; 156 157 } 158 } 159 | Popular Tags |