in xstream/src/java/com/thoughtworks/xstream/XStream.java [795:932]
protected void setupAliases() {
if (classAliasingMapper == null) {
return;
}
alias("null", Mapper.Null.class);
alias("int", Integer.class);
alias("float", Float.class);
alias("double", Double.class);
alias("long", Long.class);
alias("short", Short.class);
alias("char", Character.class);
alias("byte", Byte.class);
alias("boolean", Boolean.class);
alias("number", Number.class);
alias("object", Object.class);
alias("big-int", BigInteger.class);
alias("big-decimal", BigDecimal.class);
alias("string", String.class);
alias("string-buffer", StringBuffer.class);
alias("string-builder", StringBuilder.class);
alias("uuid", UUID.class);
alias("java-class", Class.class);
alias("method", Method.class);
alias("constructor", Constructor.class);
alias("field", Field.class);
alias("date", Date.class);
alias("gregorian-calendar", Calendar.class);
alias("uri", URI.class);
alias("url", URL.class);
alias("file", File.class);
alias("locale", Locale.class);
alias("bit-set", BitSet.class);
alias("trace", StackTraceElement.class);
alias("currency", Currency.class);
alias("map", Map.class);
alias("entry", Map.Entry.class);
alias("properties", Properties.class);
alias("list", List.class);
alias("set", Set.class);
alias("sorted-set", SortedSet.class);
alias("linked-list", LinkedList.class);
alias("vector", Vector.class);
alias("tree-map", TreeMap.class);
alias("tree-set", TreeSet.class);
alias("hashtable", Hashtable.class);
alias("linked-hash-map", LinkedHashMap.class);
alias("linked-hash-set", LinkedHashSet.class);
alias("concurrent-hash-map", ConcurrentHashMap.class);
alias("atomic-boolean", AtomicBoolean.class);
alias("atomic-int", AtomicInteger.class);
alias("atomic-long", AtomicLong.class);
alias("atomic-reference", AtomicReference.class);
alias("enum-set", EnumSet.class);
alias("enum-map", EnumMap.class);
alias("empty-list", Collections.emptyList().getClass());
alias("empty-map", Collections.emptyMap().getClass());
alias("empty-set", Collections.emptySet().getClass());
alias("singleton-list", Collections.singletonList(this).getClass());
alias("singleton-map", Collections.singletonMap(this, null).getClass());
alias("singleton-set", Collections.singleton(this).getClass());
if (JVM.isAWTAvailable()) {
// Instantiating these two classes starts the AWT system, which is undesirable.
// Calling loadClass ensures a reference to the class is found but they are not
// instantiated.
alias("awt-color", JVM.loadClassForName("java.awt.Color", false));
alias("awt-font", JVM.loadClassForName("java.awt.Font", false));
alias("awt-text-attribute", JVM.loadClassForName("java.awt.font.TextAttribute"));
}
final Class<?> type = JVM.loadClassForName("javax.activation.ActivationDataFlavor");
if (type != null) {
alias("activation-data-flavor", type);
}
if (JVM.isSQLAvailable()) {
alias("sql-timestamp", JVM.loadClassForName("java.sql.Timestamp"));
alias("sql-time", JVM.loadClassForName("java.sql.Time"));
alias("sql-date", JVM.loadClassForName("java.sql.Date"));
}
alias("fixed-clock", JVM.loadClassForName("java.time.Clock$FixedClock"));
alias("offset-clock", JVM.loadClassForName("java.time.Clock$OffsetClock"));
alias("system-clock", JVM.loadClassForName("java.time.Clock$SystemClock"));
alias("tick-clock", JVM.loadClassForName("java.time.Clock$TickClock"));
alias("day-of-week", DayOfWeek.class);
alias("duration", Duration.class);
alias("instant", Instant.class);
alias("local-date", LocalDate.class);
alias("local-date-time", LocalDateTime.class);
alias("local-time", LocalTime.class);
alias("month", Month.class);
alias("month-day", MonthDay.class);
alias("offset-date-time", OffsetDateTime.class);
alias("offset-time", OffsetTime.class);
alias("period", Period.class);
alias("year", Year.class);
alias("year-month", YearMonth.class);
alias("zoned-date-time", ZonedDateTime.class);
aliasType("zone-id", ZoneId.class);
aliasType("chronology", Chronology.class);
alias("hijrah-date", HijrahDate.class);
alias("hijrah-era", HijrahEra.class);
alias("japanese-date", JapaneseDate.class);
alias("japanese-era", JapaneseEra.class);
alias("minguo-date", MinguoDate.class);
alias("minguo-era", MinguoEra.class);
alias("thai-buddhist-date", ThaiBuddhistDate.class);
alias("thai-buddhist-era", ThaiBuddhistEra.class);
alias("chrono-field", ChronoField.class);
alias("chrono-unit", ChronoUnit.class);
alias("iso-field", JVM.loadClassForName("java.time.temporal.IsoFields$Field"));
alias("iso-unit", JVM.loadClassForName("java.time.temporal.IsoFields$Unit"));
alias("julian-field", JVM.loadClassForName("java.time.temporal.JulianFields$Field"));
alias("temporal-value-range", ValueRange.class);
alias("week-fields", WeekFields.class);
alias("optional", Optional.class);
alias("optional-double", OptionalDouble.class);
alias("optional-int", OptionalInt.class);
alias("optional-long", OptionalLong.class);
alias("serialized-lambda", SerializedLambda.class);
aliasType("charset", Charset.class);
aliasType("path", Path.class);
if (JVM.loadClassForName("javax.security.auth.Subject") != null) {
aliasDynamically("auth-subject", "javax.security.auth.Subject");
}
if (JVM.loadClassForName("javax.xml.datatype.Duration") != null) {
aliasDynamically("xml-duration", "javax.xml.datatype.Duration");
}
}