パッケージ jakarta.xml.bind

インターフェース JAXBContextFactory


  • public interface JAXBContextFactory

    新しい JAXBContext インスタンスを作成するファクトリ。JAXBContextFactory は ServiceLoader.load(Class)SE を使用して見つけることができます

    導入:
    9、JAXB 2.3
    • メソッドの詳細

      • createContext

        JAXBContext createContext​(ClassSE<?>[] classesToBeBound,
                                  MapSE<StringSE,​?> properties)
                           throws JAXBException

        JAXBContext クラスの新しいインスタンスを作成します。

        セマンティクスについては、JAXBContext.newInstance(Class[], java.util.Map) を参照してください

        パラメーター:
        classesToBeBound - 新しい JAXBContext によって認識される java クラスのリスト。名前付きモジュールにある classesToBeBound のクラスは、少なくとも jakarta.xml.bind モジュールに対して open であるパッケージに含まれている必要があります。空にすることができます。その場合、仕様で定義されたクラスについてのみ知っている JAXBContext が返されます。
        properties - プロバイダー固有のプロパティ。null にすることができます。これは、空のマップを渡すのと同じことを意味します。
        戻り値:
        JAXBContext の新しいインスタンス。
        例外:
        JAXBException - JAXBContext の作成中に次のようなエラーが発生した場合(ただしこれらに限定されません):
        1. Jakarta XML Binding の実装は発見されませんでした
        2. クラスが Jakarta XML Binding アノテーションを誤って使用する
        3. クラスには衝突するアノテーションがあります (つまり、同じ型名の 2 つのクラス)
        4. Jakarta XML Binding 実装は、プロバイダー固有の帯域外情報を見つけることができませんでした (開発時に生成された追加ファイルなど。)
        5. classesToBeBound は jakarta.xml.bind モジュールに対して開かれていません
        IllegalArgumentExceptionSE - パラメーターに null が含まれている場合 (つまり、newInstance(null,someMap);)
        導入:
        9、JAXB 2.3
      • createContext

        JAXBContext createContext​(StringSE contextPath,
                                  ClassLoaderSE classLoader,
                                  MapSE<StringSE,​?> properties)
                           throws JAXBException

        JAXBContext クラスの新しいインスタンスを作成します。

        セマンティクスについては、JAXBContext.newInstance(String, ClassLoader, java.util.Map) を参照してください

        プロパティの解釈は実装次第です。実装は、理解できないプロパティを見つけた場合、JAXBException をスローする必要があります。

        パラメーター:
        contextPath - スキーマ派生クラスを含む java パッケージ名のリスト。名前付きモジュールにある classesToBeBound のクラスは、少なくとも jakarta.xml.bind モジュールに対して open であるパッケージに含まれている必要があります。
        classLoader - このクラスローダーは、実装クラスを見つけるために使用されます。
        properties - プロバイダー固有のプロパティ。null にすることができます。これは、空のマップを渡すのと同じことを意味します。
        戻り値:
        JAXBContext の新しいインスタンス
        例外:
        JAXBException - JAXBContext の作成中に次のようなエラーが発生した場合
        1. パッケージ内で ObjectFactory.class または jaxb.index のいずれかが見つからない
        2. contextPath に含まれるグローバル要素間の曖昧さ
        3. コンテキストファクトリプロバイダープロパティの値が見つからない
        4. 同じ contextPath 上で異なるプロバイダからのスキーマ派生パッケージを混在させる
        5. パッケージは jakarta.xml.bind モジュールに対して開かれていません
        導入:
        9、JAXB 2.3