У меня был следующий класс.Имея обратную совместимость для xstream в следующем случае
class SimpleDate {
private final int year; /* ? */
private final int month; /* 0 ~ 11 */
private final int date; /* 1 ~ 31 */
}
Теперь я планирую перегруппировать класс.
class SimpleDate {
private final int year; /* ? */
private final int month; /* 1 ~ 12!!!!! <-- change from 0 based to 1 based */
private final int day; /* 1 ~ 31 */
}
Чтобы решить проблему переименования переменных, я буду использовать псевдоним.
xStream.aliasField("date", SimpleDate.class, "day");
Однако, как я могу знать, что я читаю старый файл XML, и я +1 за месяц поле вновь читать, чтобы изменить его с 0 на основе на основе 1?