JAXB에서 자체 참조하는 클래스를 사용하여 다운 캐스트에 문제가 있습니다.JAXB 자체 참조 객체 및 다운 캐스팅 관련 문제
내 설치가 :
@XmlRootElement
class IdentifiableObject {
@XmlID
@XmlAttribute
String id;
@XmlAttribute
String name;
}
@XmlRootElement
class Node extends IdentifiableObject {
@XmlElement
@XmlJavaAdapter(SimpleAdapterThatJustDowncastsToIdentifiableObject.class)
Node parent;
@XmlElement
String aField;
}
나는 다른 개체 듬뿍 이런 짓을했는지, 그리고 그것을 잘 작동합니다. 그러나 자신을 참조하는 클래스를 사용할 때 작동하지 않습니다.
해결할 수있는 방법이 있습니까? 내가 XmlID/XmlIDREF 좀 문제를 해결하여 알아,하지만 난 정말
명확히하기 위해 (나는 식별에서 ID 및 이름을 원하는) 단순한 심판보다 더 원하는, 이것은 내가 무엇을 얻을 수 있습니다 :
<nodes>
<node id="49ad1cb6-f6fe-47f9-a544-4a1c6337c4a5" name="Node 1">
<aField>This is Node 1</aField>
</node>
<node id="0a1d1895-49e1-4079-abc1-749c304cc5a2" name="Node 2">
<parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="node" id="49ad1cb6-f6fe-47f9-a544-4a1c6337c4a5" name="Node 1">
<aField>This is Node 1</aField>
</parent>
<aField>This is Node 2</aField>
</node>
</nodes>
<nodes>
<node id="49ad1cb6-f6fe-47f9-a544-4a1c6337c4a5" name="Node 1">
<aField>This is Node 1</aField>
</node>
<node id="0a1d1895-49e1-4079-abc1-749c304cc5a2" name="Node 2">
<parent id="49ad1cb6-f6fe-47f9-a544-4a1c6337c4a5" name="Node 1"/>
<aField>This is Node 2</aField>
</node>
</nodes>
UPDATE를 : : 그냥 메모를 여기에서는 schemagen 실제로 올바른 일을
는 그리고이 제가 원하는 것입니다. JAXB RI의 버그 일 수 있습니다.
감사합니다, 모르 텐