|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.xml.xpath.XPathFactory
public abstract class XPathFactory
XPathFactory インスタンスを使用して、XPath オブジェクトを作成できます。
検索機構については、newInstance(String uri) を参照してください。
XPathFactory クラスはスレッドに対して安全ではありません。つまり、アプリケーション側で、どのような場合も XPathFactory オブジェクトを使用するスレッドが 1 つだけであるようにする必要があります。実装では、メソッドに synchronized のマークを付けて、障害のあるクライアントから保護することをお勧めします。
XPathFactory は再入不可能です。newInstance メソッドの 1 つが呼び出されているときに、アプリケーションは、同じスレッドからであっても、newInstance メソッドを再帰的に呼び出すことはできません。
| フィールドの概要 | |
|---|---|
static String |
DEFAULT_OBJECT_MODEL_URI
デフォルトのオブジェクトモデル URI です。 |
static String |
DEFAULT_PROPERTY_NAME
JAXP 仕様に従ったデフォルトのプロパティー名です。 |
| コンストラクタの概要 | |
|---|---|
protected |
XPathFactory()
newInstance()、newInstance(String uri)、または newInstance(String uri, String factoryClassName, ClassLoader classLoader) として protected コンストラクタを使用して、XPathFactory の新しいインスタンスを作成する必要があります。 |
| メソッドの概要 | |
|---|---|
abstract boolean |
getFeature(String name)
名前が付けられた機能の状態を取得します。 |
abstract boolean |
isObjectModelSupported(String objectModel)
指定されたオブジェクトモデルがこの XPathFactory にサポートされているかを返します。 |
static XPathFactory |
newInstance()
デフォルトのオブジェクトモデル、 DEFAULT_OBJECT_MODEL_URI を使用して、新しい XPathFactory インスタンスを取得します。 |
static XPathFactory |
newInstance(String uri)
指定されたオブジェクトモデルを使用して、新しい XPathFactory インスタンスを取得します。 |
static XPathFactory |
newInstance(String uri,
String factoryClassName,
ClassLoader classLoader)
ファクトリクラス名から XPathFactory の新しいインスタンスを取得します。 |
abstract XPath |
newXPath()
XPathFactory がインスタンス化された際に特定された基本となるオブジェクトモデルを使用して、新しい XPath を返します。 |
abstract void |
setFeature(String name,
boolean value)
このファクトリによって生成された XPathFactory および XPath の機能を設定します。 |
abstract void |
setXPathFunctionResolver(XPathFunctionResolver resolver)
デフォルトの関数リゾルバを設定します。 |
abstract void |
setXPathVariableResolver(XPathVariableResolver resolver)
デフォルトの変数リゾルバを設定します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final String DEFAULT_PROPERTY_NAME
JAXP 仕様に従ったデフォルトのプロパティー名です。
public static final String DEFAULT_OBJECT_MODEL_URI
デフォルトのオブジェクトモデル URI です。
| コンストラクタの詳細 |
|---|
protected XPathFactory()
newInstance()、newInstance(String uri)、または newInstance(String uri, String factoryClassName, ClassLoader classLoader) として protected コンストラクタを使用して、XPathFactory の新しいインスタンスを作成する必要があります。
| メソッドの詳細 |
|---|
public static final XPathFactory newInstance()
デフォルトのオブジェクトモデル、DEFAULT_OBJECT_MODEL_URI を使用して、新しい XPathFactory インスタンスを取得します。
このメソッドは、機能的には次と同等です。
newInstance(DEFAULT_OBJECT_MODEL_URI)
W3C DOM の実装が常に使用できるため、このメソッドが失敗することはありません。
XPathFactory のインスタンス
RuntimeException - デフォルトのオブジェクトモデルに対する XPathFactory の作成時にエラーが発生した場合
public static final XPathFactory newInstance(String uri)
throws XPathFactoryConfigurationException
指定されたオブジェクトモデルを使用して、新しい XPathFactory インスタンスを取得します。
XPathFactory オブジェクトを検索する場合、このメソッドは「クラスローダー」がコンテキストクラスローダーを参照する次の順番で、次の場所を調べます。
DEFAULT_PROPERTY_NAME + :uri が存在し、uri がこのメソッドのパラメータである場合、その値はクラス名として読み取られる。このメソッドは、クラスローダーを使用してこのクラスの新しいインスタンスを作成を試み、成功した場合はそれを返します。
jjavax.xml.xpath.XPathFactory に一致するサービスプロバイダのプロバイダ構成ファイルを要求されます。ファイル形式と構文解析規則については、JAR ファイルの仕様を参照してください。各サービスプロバイダは、次のメソッドを実装している必要があります。
isObjectModelSupported(String objectModel)
指定されたオブジェクトモデルをサポートするクラスローダー内で最初に検出されたサービスプロバイダが返されます。
XPathFactory は、実装固有の方法で配置される。W3C DOM用のプラットフォームのデフォルト XPathFactory、つまり DEFAULT_OBJECT_MODEL_URI がある必要があります。
すべてが失敗した場合、XPathFactoryConfigurationException がスローされます。
トラブルシューティングのヒント
プロパティーファイルがどのように構文解析されるかについては、Properties.load(java.io.InputStream) を参照してください。特に、コロン「:」は、プロパティーファイル内でエスケープされる必要があるため、URI が適切にエスケープされていることを確認してください。例を示します。
http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
uri - 基本となるオブジェクトモデルを識別する。仕様は、URI DEFAULT_OBJECT_MODEL_URI、 W3C DOM の http://java.sun.com/jaxp/xpath/dom、 org.w3c.dom パッケージのみを定義し、実装はほかのオブジェクトモデルの URI を自由に導入可能
XPathFactory のインスタンス
XPathFactoryConfigurationException - 指定されたオブジェクトモデルが使用できない場合
NullPointerException - uri が null の場合
IllegalArgumentException - uri が null の場合 または uri.length() == 0 の場合
public static XPathFactory newInstance(String uri,
String factoryClassName,
ClassLoader classLoader)
throws XPathFactoryConfigurationException
ファクトリクラス名から XPathFactory の新しいインスタンスを取得します。指定されたファクトリクラスが指定されたオブジェクトモデルをサポートする場合、XPathFactory が返されます。この関数は、クラスパスに複数のプロバイダがある場合に便利です。どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。
jaxp.debug システムプロパティーを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグメッセージを System.err に出力します。
問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
uri - 基本となるオブジェクトモデルを識別する。仕様は、URI DEFAULT_OBJECT_MODEL_URI、 W3C DOM の http://java.sun.com/jaxp/xpath/dom、 org.w3c.dom パッケージのみを定義し、実装はほかのオブジェクトモデルの URI を自由に導入可能factoryClassName - javax.xml.xpath.XPathFactory の実装を提供する完全指定のファクトリクラス名classLoader - ファクトリクラスのロードに使用される ClassLoader。null の場合は、現在の Thread のコンテキスト classLoader が、ファクトリクラスのロードに使用される
XPathFactory の新しいインスタンス
XPathFactoryConfigurationException - factoryClassName が null の場合。または、 ファクトリクラスをロードおよびインスタンス化できない場合。 または、ファクトリクラスが uri パラメータで指定されたオブジェクトモデルを サポートしない場合
NullPointerException - uri が null の場合
IllegalArgumentException - uri が null の場合 または uri.length() == 0 の場合newInstance(),
newInstance(String uri)public abstract boolean isObjectModelSupported(String objectModel)
指定されたオブジェクトモデルがこの XPathFactory にサポートされているかを返します。
objectModel - 返された XPathFactory を認識するオブジェクトモデルを指定する
XPathFactory が objectModel をサポートしている場合は true、そうでない場合は false
NullPointerException - objectModel が null の場合
IllegalArgumentException - objectModel.length() == 0 の場合
public abstract void setFeature(String name,
boolean value)
throws XPathFactoryConfigurationException
このファクトリによって生成された XPathFactory および XPath の機能を設定します。
機能名は完全指定 URI です。 実装が独自の機能を定義することもできます。生成する XPathFactory または XPath がその機能をサポートできない場合は、XPathFactoryConfigurationException がスローされます。XPathFactory は機能の値を表示できますが、その状態を変更することはできません。
実装はすべて、XMLConstants.FEATURE_SECURE_PROCESSING 機能をサポートしている必要があります。機能が true の場合は、外部関数を参照するとエラーになります。こうした場合、実装は XPathFunctionResolver を呼び出せないので、XPathFunctionException をスローします。
name - 機能名value - 機能の状態が true か false か
XPathFactoryConfigurationException - この XPathFactory またはそれによって作成される XPath が この機能をサポートできない場合
NullPointerException - name が null の場合
public abstract boolean getFeature(String name)
throws XPathFactoryConfigurationException
名前が付けられた機能の状態を取得します。
機能名は完全指定 URI です。 実装が独自の機能を定義することもできます。生成する XPathFactory または XPath がその機能をサポートできない場合は、XPathFactoryConfigurationException がスローされます。XPathFactory は機能の値を表示できますが、その状態を変更することはできません。
name - 機能名
XPathFactoryConfigurationException - この XPathFactory またはそれによって作成される XPath が この機能をサポートできない場合
NullPointerException - name が null の場合public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
デフォルトの変数リゾルバを設定します。
このファクトリで構築された XPath オブジェクトは、デフォルトで指定されたリゾルバを使用します。
resolver が null の場合、NullPointerException がスローされます。
resolver - 変数リゾルバ。
NullPointerException - resolver が null の場合public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
デフォルトの関数リゾルバを設定します。
このファクトリで構築された XPath オブジェクトは、デフォルトで指定されたリゾルバを使用します。
resolver が null の場合、NullPointerException がスローされます。
resolver - XPath 関数リゾルバ
NullPointerException - resolver が null の場合public abstract XPath newXPath()
XPathFactory がインスタンス化された際に特定された基本となるオブジェクトモデルを使用して、新しい XPath を返します。
XPath の新しいインスタンス
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。