1:
43: package ;
44:
45: import ;
46: import ;
47: import ;
48: import ;
49: import ;
50: import ;
51: import ;
52: import ;
53: import ;
54: import ;
55: import ;
56: import ;
57: import ;
58: import ;
59: import ;
60: import ;
61: import ;
62: import ;
63: import ;
64: import ;
65: import ;
66: import ;
67:
68: import ;
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: }