in xstream/src/java/com/thoughtworks/xstream/XStream.java [952:1070]
protected void setupConverters() {
registerConverter(new ReflectionConverter(mapper, reflectionProvider), PRIORITY_VERY_LOW);
registerConverter(new SerializableConverter(mapper, reflectionProvider, classLoaderReference), PRIORITY_LOW);
registerConverter(new ExternalizableConverter(mapper, classLoaderReference), PRIORITY_LOW);
registerConverter(new NullConverter(), PRIORITY_VERY_HIGH);
registerConverter(new IntConverter(), PRIORITY_NORMAL);
registerConverter(new FloatConverter(), PRIORITY_NORMAL);
registerConverter(new DoubleConverter(), PRIORITY_NORMAL);
registerConverter(new LongConverter(), PRIORITY_NORMAL);
registerConverter(new ShortConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new CharConverter(), PRIORITY_NORMAL);
registerConverter(new BooleanConverter(), PRIORITY_NORMAL);
registerConverter(new ByteConverter(), PRIORITY_NORMAL);
registerConverter(new StringConverter(), PRIORITY_NORMAL);
registerConverter(new StringBufferConverter(), PRIORITY_NORMAL);
registerConverter(new StringBuilderConverter(), PRIORITY_NORMAL);
registerConverter(new ThrowableConverter(mapper, converterLookup), PRIORITY_NORMAL);
registerConverter(new StackTraceElementConverter(), PRIORITY_NORMAL);
registerConverter(new DateConverter(), PRIORITY_NORMAL);
registerConverter(new GregorianCalendarConverter(), PRIORITY_NORMAL);
registerConverter(new RegexPatternConverter(), PRIORITY_NORMAL);
registerConverter(new CurrencyConverter(), PRIORITY_NORMAL);
registerConverter(new CharsetConverter(), PRIORITY_NORMAL);
registerConverter(new LocaleConverter(), PRIORITY_NORMAL);
registerConverter(new BitSetConverter(), PRIORITY_NORMAL);
registerConverter(new UUIDConverter(), PRIORITY_NORMAL);
registerConverter(new URIConverter(), PRIORITY_NORMAL);
registerConverter(new URLConverter(), PRIORITY_NORMAL);
registerConverter(new BigIntegerConverter(), PRIORITY_NORMAL);
registerConverter(new BigDecimalConverter(), PRIORITY_NORMAL);
registerConverter(new PathConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new AtomicBooleanConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new AtomicIntegerConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new AtomicLongConverter(), PRIORITY_NORMAL);
registerConverter(new AtomicReferenceConverter(mapper), PRIORITY_NORMAL);
registerConverter(new ArrayConverter(mapper), PRIORITY_NORMAL);
registerConverter(new CharArrayConverter(), PRIORITY_NORMAL);
registerConverter(new CollectionConverter(mapper), PRIORITY_NORMAL);
registerConverter(new MapConverter(mapper), PRIORITY_NORMAL);
registerConverter(new TreeMapConverter(mapper), PRIORITY_NORMAL);
registerConverter(new TreeSetConverter(mapper), PRIORITY_NORMAL);
registerConverter(new SingletonCollectionConverter(mapper), PRIORITY_NORMAL);
registerConverter(new SingletonMapConverter(mapper), PRIORITY_NORMAL);
registerConverter(new PropertiesConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new EncodedByteArrayConverter(), PRIORITY_NORMAL);
registerConverter(new EnumConverter(), PRIORITY_NORMAL);
registerConverter(new EnumSetConverter(mapper), PRIORITY_NORMAL);
registerConverter(new EnumMapConverter(mapper), PRIORITY_NORMAL);
registerConverter(new FileConverter(), PRIORITY_NORMAL);
if (JVM.isSQLAvailable()) {
registerConverter(new SqlTimestampConverter(), PRIORITY_NORMAL);
registerConverter(new SqlTimeConverter(), PRIORITY_NORMAL);
registerConverter(new SqlDateConverter(), PRIORITY_NORMAL);
}
registerConverter(new ChronologyConverter(), PRIORITY_NORMAL);
registerConverter(new DurationConverter(), PRIORITY_NORMAL);
registerConverter(new HijrahDateConverter(), PRIORITY_NORMAL);
registerConverter(new JapaneseDateConverter(), PRIORITY_NORMAL);
registerConverter(new JapaneseEraConverter(), PRIORITY_NORMAL);
registerConverter(new InstantConverter(), PRIORITY_NORMAL);
registerConverter(new LocalDateConverter(), PRIORITY_NORMAL);
registerConverter(new LocalDateTimeConverter(), PRIORITY_NORMAL);
registerConverter(new LocalTimeConverter(), PRIORITY_NORMAL);
registerConverter(new MinguoDateConverter(), PRIORITY_NORMAL);
registerConverter(new MonthDayConverter(), PRIORITY_NORMAL);
registerConverter(new OffsetDateTimeConverter(), PRIORITY_NORMAL);
registerConverter(new OffsetTimeConverter(), PRIORITY_NORMAL);
registerConverter(new PeriodConverter(), PRIORITY_NORMAL);
registerConverter(new SystemClockConverter(mapper), PRIORITY_NORMAL);
registerConverter(new ThaiBuddhistDateConverter(), PRIORITY_NORMAL);
registerConverter(new ValueRangeConverter(mapper), PRIORITY_NORMAL);
registerConverter(new WeekFieldsConverter(mapper), PRIORITY_NORMAL);
registerConverter(new YearConverter(), PRIORITY_NORMAL);
registerConverter(new YearMonthConverter(), PRIORITY_NORMAL);
registerConverter(new ZonedDateTimeConverter(), PRIORITY_NORMAL);
registerConverter(new ZoneIdConverter(), PRIORITY_NORMAL);
registerConverter(new OptionalConverter(mapper), PRIORITY_NORMAL);
registerConverter((Converter)new OptionalDoubleConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new OptionalIntConverter(), PRIORITY_NORMAL);
registerConverter((Converter)new OptionalLongConverter(), PRIORITY_NORMAL);
registerConverter(new DynamicProxyConverter(mapper, classLoaderReference), PRIORITY_NORMAL);
registerConverter(new JavaClassConverter(classLoaderReference), PRIORITY_NORMAL);
registerConverter(new JavaMethodConverter(classLoaderReference), PRIORITY_NORMAL);
registerConverter(new JavaFieldConverter(classLoaderReference), PRIORITY_NORMAL);
registerConverter(new LambdaConverter(mapper, reflectionProvider, classLoaderReference), PRIORITY_NORMAL);
if (JVM.isAWTAvailable()) {
registerConverter(new FontConverter(mapper), PRIORITY_NORMAL);
registerConverter(new ColorConverter(), PRIORITY_NORMAL);
registerConverter(new TextAttributeConverter(), PRIORITY_NORMAL);
}
if (JVM.isSwingAvailable()) {
registerConverter(new LookAndFeelConverter(mapper, reflectionProvider), PRIORITY_NORMAL);
}
if (JVM.loadClassForName("javax.security.auth.Subject") != null) {
registerConverterDynamically("com.thoughtworks.xstream.converters.extended.SubjectConverter",
PRIORITY_NORMAL, new Class[]{Mapper.class}, new Object[]{mapper});
}
if (JVM.loadClassForName("javax.xml.datatype.Duration") != null) {
registerConverterDynamically("com.thoughtworks.xstream.converters.extended.DurationConverter",
PRIORITY_NORMAL, null, null);
}
if (JVM.loadClassForName("javax.activation.ActivationDataFlavor") != null) {
registerConverterDynamically("com.thoughtworks.xstream.converters.extended.ActivationDataFlavorConverter",
PRIORITY_NORMAL, null, null);
}
if (JVM.isVersion(14)) {
registerConverterDynamically("com.thoughtworks.xstream.converters.extended.RecordConverter",
PRIORITY_NORMAL, new Class[]{Mapper.class}, new Object[]{mapper});
}
registerConverter(new SelfStreamingInstanceChecker(converterLookup, this), PRIORITY_NORMAL);
}