Java でのプリコンパイル

XCompilationFactory インターフェースとそのインターフェースのさまざまなコンパイルおよびロード・メソッドを使用して、 式、照会、またはスタイルシートをあらかじめコンパイルしておくことができます。 Java™ クラスは実行時にロードできるため、アプリケーション・ランタイムでのコンパイルのコストを回避できます。

手順

  • XFactory クラスで getCompilationFactory メソッドを呼び出して、XCompilationFactory を取り出します。

    XCompilationFactory インスタンスは特定の XFactory インスタンスに関連付けられているため、 これらのインスタンスは登録済みのスキーマを共有します。 新規スキーマが XFactory インスタンスに登録されると、 関連する XCompilationFactory インスタンスにこのスキーマが表示されます。

  • 生成されたクラスに使用する基本クラス名に渡す XCompilationFactory newCompilationParameters メソッドを呼び出して、 新規 XCompilationParameters インスタンスを作成します。
    追加のパラメーターを構成するには、この表に示された設定メソッドを使用します。
    表 1. 有効な set メソッド

    これらの設定メソッドは XCompilationParameters インターフェースに定義されており、 プリコンパイルされた実行可能ファイルの生成に有効です。

    プリコンパイルされた実行可能ファイルの生成に有効な設定メソッド 説明 デフォルト
    setPackageName 生成されたクラスのパッケージ名を指定します。

    値は有効な Java パッケージ名でなければなりません。

    Java デフォルト・パッケージ
    setDirectoryName 生成されたクラスの書き込み先ディレクトリーを指定します。

    このディレクトリーは存在している必要があります。

    プロパティー user.dir を指定して Java System.getProperty メソッドを呼び出すことによって取得された現行作業ディレクトリー
    setClassLoader メソッドは、いずれかのロード・メソッドを使用して生成されたクラスを ロードする場合に限り有効です。 コンパイル時にクラス・ローダーが設定された場合、そのクラス・ローダーは無視されます。
  • XCompilationFactory で、XCompilationParameters 内に渡すコンパイル・メソッドのいずれかを使用して、 プリコンパイルされた実行可能ファイルを生成します。

    コンパイル・メソッドは、XStaticContext を XFactory 作成メソッドと 同様に使用して、作成時の設定を構成します。 コンパイル・メソッドが使用されるときのコンパイルは暗黙のものであるため、XStaticContext setUseCompiler メソッドで コンパイラー使用設定を変更しても、 これらのコンパイル・メソッドには影響しないことに注意してください。 静的コンテキストを指定しない場合は、デフォルトの設定値が使用されます。

以下に、XPath 式をプリコンパイルする基本的な例を示します。
// Create the factory
XFactory factory = XFactory.newInstance();
               
// Get the compilation factory
XCompilationFactory compileFactory = factory.getCompilationFactory();
       
// Create the compilation parameters
XCompilationParameters params = compileFactory.newCompilationParameters("MyXPath");
params.setPackageName("org.example.myxpath");
                
// Generate the compiled classes
compileFactory.compileXPath("/doc/item[@id > 3000]", params);

さらに、XQuery および XSLT にも適切なコンパイル・メソッドを使用できます。