モジュール java.xml.bind
パッケージ javax.xml.bind.annotation

注釈型XmlSeeAlso



  • @Target(TYPE)
    @Retention(RUNTIME)
    public @interface XmlSeeAlso
    このクラスをバインドするときにほかのクラスもバインドするようにJAXBに指示します。

    Javaでは、指定されたクラスのサブクラスをすべてリスト表示することは現実的ではなく不可能です。 JAXBでもJAXBContextで認識される必要のあるクラスを自動的にリスト表示できないなど、これがJAXBユーザーの支障となる場合がよくあります。

    たとえば、次のクラス定義がある場合

     class Animal {}
     class Dog extends Animal {}
     class Cat extends Animal {}
     

    ユーザーはJAXBContextJAXBContext.newInstance(Dog.class,Cat.class)のように作成する必要があります(AnimalDogCatから参照されるため、自動的に取得される)。

    XmlSeeAlso注釈を使用すると、次のように記述できます。

     @XmlSeeAlso({Dog.class,Cat.class})
     class Animal {}
     class Dog extends Animal {}
     class Cat extends Animal {}
     

    これにより、JAXBContext.newInstance(Animal.class)を実行できるようになります。 この注釈の助けを借りて、JAXB実装ではDogCatを正しくバインドできます。

    導入されたバージョン:
    1.6, JAXB 2.1
    • 必須要素のサマリー

      必須要素 
      修飾子と型 必須要素 説明
      Class[] value  
    • 要素の詳細