@Target(value=TYPE) @Retention(value=RUNTIME) public @interface XmlSeeAlso
Javaでは、指定されたクラスのサブクラスをすべてリスト表示することは現実的ではなく不可能です。JAXBでもJAXBContext
で認識される必要のあるクラスを自動的にリスト表示できないなど、これがJAXBユーザーの支障となる場合がよくあります。
たとえば、次のクラス定義がある場合
class Animal {} class Dog extends Animal {} class Cat extends Animal {}
ユーザーはJAXBContext
をJAXBContext.newInstance(Dog.class,Cat.class)のように作成する必要があります(AnimalはDogやCatから参照されるため、自動的に取得される)。
XmlSeeAlso
注釈を使用すると、次のように記述できます。
@XmlSeeAlso({Dog.class,Cat.class}) class Animal {} class Dog extends Animal {} class Cat extends Animal {}
これにより、JAXBContext.newInstance(Animal.class)を実行できるようになります。この注釈の助けを借りて、JAXB実装ではDogとCatを正しくバインドできます。
public abstract Class[] value
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.