У меня есть следующий фрагмент XML (который находится вне моего контроля):
<item>
<name>Name</name>
<category>1</category>
<subcategory>2</subcategory>
</item>
Я бы хотел, чтобы <subcategory>
был переведен в класс, который выглядит следующим образом:
public class SubCategory {
private Category parent;
private int code;
private String name;
public SubCategory(int code, Category parent){
this.code = code;
this.parent = parent;
this.name = lookupName(code);
}
// Getters, setters and lookupName(int) here
}
Другими словами, объект, являющийся результатом тега <category>
, должен быть передан объекту, являющемуся результатом элемента <subcategory>
.
Как я могу это сделать? Это вообще возможно? Я знаю о XmlAdapter
, но не вижу способа завладеть родителем.
Я бы предпочел, чтобы это делалось в конструкторе, поэтому экземпляр никогда не может находиться в недопустимом состоянии, но я остановлюсь на другом решении, если мне не нужно вручную устанавливать родитель для каждого SubCategory
.