Some minor optimizations after performance profiling.

- DefaultConversionService no longer uses addDefaultAlias since that's quite expensive because of all the string manipulations.
- The external context implementations now hold on to their attribute and parameter maps iso creating new ones every time.
This commit is contained in:
Erwin Vervaet
2007-04-04 10:51:36 +00:00
parent 05e5999242
commit dd07becc10
6 changed files with 85 additions and 38 deletions

View File

@@ -46,18 +46,20 @@ public class DefaultConversionService extends GenericConversionService {
addConverter(new TextToNumber(new SimpleFormatterFactory()));
addConverter(new TextToBoolean());
addConverter(new TextToLabeledEnum());
addDefaultAlias(String.class);
addDefaultAlias(Short.class);
addDefaultAlias(Integer.class);
// we're not using addDefaultAlias here for efficieny reasons
addAlias("string", String.class);
addAlias("short", Short.class);
addAlias("integer", Integer.class);
addAlias("int", Integer.class);
addDefaultAlias(Byte.class);
addDefaultAlias(Long.class);
addDefaultAlias(Float.class);
addDefaultAlias(Double.class);
addDefaultAlias(BigInteger.class);
addDefaultAlias(BigDecimal.class);
addDefaultAlias(Boolean.class);
addDefaultAlias(Class.class);
addDefaultAlias(LabeledEnum.class);
addAlias("byte", Byte.class);
addAlias("long", Long.class);
addAlias("float", Float.class);
addAlias("double", Double.class);
addAlias("bigInteger", BigInteger.class);
addAlias("bigDecimal", BigDecimal.class);
addAlias("boolean", Boolean.class);
addAlias("class", Class.class);
addAlias("labeledEnum", LabeledEnum.class);
}
}