クラスXPathFactory
XPathFactoryインスタンスを使用して、XPathオブジェクトを作成できます。
検索メカニズムについては、newInstance(String uri)を参照してください。
XPathFactoryクラスはスレッドに対して安全ではありません。 つまり、アプリケーション側で、どのような場合もXPathFactoryオブジェクトを使用するスレッドが1つだけであるようにする必要があります。 実装では、メソッドにsynchronizedのマークを付けて、障害のあるクライアントから保護することをお勧めします。
XPathFactoryは再入不可能です。 newInstanceメソッドの1つが呼び出されているときに、アプリケーションは、同じスレッドからであっても、newInstanceメソッドを再帰的に呼び出すことはできません。
- 導入されたバージョン:
- 1.5
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectednewInstance()、newInstance(String uri)、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)としてprotectedコンストラクタを使用して、XPathFactoryの新しいインスタンスを作成する必要があります。 -
メソッドのサマリー
修飾子と型メソッド説明abstract booleangetFeature(String name) 名前が付けられた機能の状態を取得します。getProperty(String name) 指定されたプロパティの値を返します。abstract booleanisObjectModelSupported(String objectModel) 指定されたオブジェクト・モデルがこのXPathFactoryにサポートされているかを返します。static XPathFactoryXPathFactory組込みシステム・デフォルト実装の新しいインスタンスを作成します。static XPathFactoryデフォルトのオブジェクト・モデル、DEFAULT_OBJECT_MODEL_URI、W3C DOMを使用して、新しいXPathFactoryインスタンスを取得します。static XPathFactorynewInstance(String uri) 指定されたオブジェクト・モデルを使用して、新しいXPathFactoryインスタンスを取得します。static XPathFactorynewInstance(String uri, String factoryClassName, ClassLoader classLoader) ファクトリ・クラス名からXPathFactoryの新しいインスタンスを取得します。abstract XPathnewXPath()XPathFactoryがインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPathを返します。abstract voidsetFeature(String name, boolean value) このXPathFactoryの機能を設定します。voidsetProperty(String name, String value) このXPathFactoryのプロパティを設定します。abstract voidデフォルトの関数リゾルバを設定します。abstract voidデフォルトの変数リゾルバを設定します。
-
フィールド詳細
-
DEFAULT_PROPERTY_NAME
-
DEFAULT_OBJECT_MODEL_URI
-
-
コンストラクタの詳細
-
XPathFactory
protected XPathFactory()newInstance()、newInstance(String uri)、またはnewInstance(String uri, String factoryClassName, ClassLoader classLoader)としてprotectedコンストラクタを使用して、XPathFactoryの新しいインスタンスを作成する必要があります。
-
-
メソッドの詳細
-
newDefaultInstance
public static XPathFactory newDefaultInstance()XPathFactory組込みシステム・デフォルト実装の新しいインスタンスを作成します。- 実装要件:
XPathFactory組込みシステム・デフォルト実装は、default object model(W3C DOM)をサポートするためにのみ必要ですが、追加のオブジェクト・モデルをサポートする場合があります。- 戻り値:
XPathFactory組込みシステム・デフォルト実装の新しいインスタンス。- 導入されたバージョン:
- 9
-
newInstance
public static XPathFactory newInstance()デフォルトのオブジェクト・モデル、
DEFAULT_OBJECT_MODEL_URI、W3C DOMを使用して、新しいXPathFactoryインスタンスを取得します。このメソッドは、機能的には次と同等です。
newInstance(DEFAULT_OBJECT_MODEL_URI)
W3C DOMの実装が常に使用できるため、このメソッドが失敗することはありません。
- 戻り値:
XPathFactoryのインスタンス。- スロー:
RuntimeException- デフォルトのオブジェクト・モデルに対するXPathFactoryの作成時にエラーが発生した場合。
-
newInstance
public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException 指定されたオブジェクト・モデルを使用して、新しいXPathFactoryインスタンスを取得します。 このメソッドは、「JAXPルックアップ・メカニズム」を使用して、指定したオブジェクト・モデルをサポートするXPathFactory実装を特定およびロードします。トラブルシューティングのヒント:
プロパティ・ファイルがどのように構文解析されるかについては、
Properties.load(java.io.InputStream)を参照してください。 特に、コロン「:」は、プロパティ・ファイル内でエスケープされる必要があるため、URIが適切にエスケープされていることを確認してください。 たとえば、http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
- パラメータ:
uri- 基本となるオブジェクト・モデルを識別する。 仕様は、URIDEFAULT_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の場合。
-
newInstance
public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException ファクトリ・クラス名から
XPathFactoryの新しいインスタンスを取得します。 指定されたファクトリ・クラスが指定されたオブジェクト・モデルをサポートする場合、XPathFactoryが返されます。 この関数は、クラス・パスに複数のプロバイダがある場合に便利です。 どのプロバイダがロードされるかを指定できるため、アプリケーションをさらに制御できます。トラブルシューティングのヒント
jaxp.debugシステム・プロパティを設定すると、このメソッドは実行中の処理や検索している場所に関する大量のデバッグ・メッセージをSystem.errに出力します。問題がある場合、次のようにします。
java -Djaxp.debug=1 YourProgram ....
- パラメータ:
uri- 基本となるオブジェクト・モデルを識別する。 仕様は、URIDEFAULT_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の場合。- 導入されたバージョン:
- 1.6
- 関連項目:
-
isObjectModelSupported
public abstract boolean isObjectModelSupported(String objectModel) 指定されたオブジェクト・モデルがこの
XPathFactoryにサポートされているかを返します。- パラメータ:
objectModel- 返されたXPathFactoryを認識するオブジェクト・モデルを指定する。- 戻り値:
XPathFactoryがobjectModelをサポートしている場合はtrue、そうでない場合はfalse。- スロー:
NullPointerException-objectModelがnullの場合。IllegalArgumentException-objectModel.length()== 0の場合。
-
setFeature
public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException このXPathFactoryの機能を設定します。 この機能は、XPathFactoryによって作成されるXPathオブジェクトに適用されます。 すでに作成されているXPathオブジェクトには影響しません。機能名は完全修飾
URIです。 実装が独自の機能を定義することもできます。 生成するXPathFactoryまたはXPathがその機能をサポートできない場合は、XPathFactoryConfigurationExceptionがスローされます。XPathFactoryは機能の値を表示できますが、その状態を変更することはできません。実装はすべて、
XMLConstants.FEATURE_SECURE_PROCESSING機能をサポートしている必要があります。 機能がtrueの場合は、外部関数を参照するとエラーになります。 こうした場合、実装はXPathFunctionResolverを呼び出せないので、XPathFunctionExceptionをスローします。- パラメータ:
name- 機能名。value- 機能の状態がtrueかfalseか。- スロー:
XPathFactoryConfigurationException- このXPathFactoryまたはそれによって作成されるXPathがこの機能をサポートできない場合。NullPointerException-nameがnullの場合。
-
getFeature
public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException 名前が付けられた機能の状態を取得します。
機能名は完全修飾
URIです。 実装が独自の機能を定義することもできます。 生成するXPathFactoryまたはXPathがその機能をサポートできない場合は、XPathFactoryConfigurationExceptionがスローされます。XPathFactoryは機能の値を表示できますが、その状態を変更することはできません。- パラメータ:
name- 機能名。- 戻り値:
- 名前が付けられた機能の状態。
- スロー:
XPathFactoryConfigurationException- このXPathFactoryまたはそれによって作成されるXPathがこの機能をサポートできない場合。NullPointerException-nameがnullの場合。
-
setXPathVariableResolver
public abstract void setXPathVariableResolver(XPathVariableResolver resolver) デフォルトの変数リゾルバを設定します。
このファクトリで構築された
XPathオブジェクトは、デフォルトで指定されたリゾルバを使用します。resolverがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
resolver- 変数リゾルバ。- スロー:
NullPointerException-resolverがnullの場合。
-
setXPathFunctionResolver
public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver) デフォルトの関数リゾルバを設定します。
このファクトリで構築された
XPathオブジェクトは、デフォルトで指定されたリゾルバを使用します。resolverがnullの場合、NullPointerExceptionがスローされます。- パラメータ:
resolver- XPath関数リゾルバ。- スロー:
NullPointerException-resolverがnullの場合。
-
newXPath
public abstract XPath newXPath()XPathFactoryがインスタンス化された際に特定された基本となるオブジェクト・モデルを使用して、新しいXPathを返します。- 戻り値:
XPathの新しいインスタンス。
-
setProperty
このXPathFactoryのプロパティを設定します。 このプロパティは、XPathFactoryによって作成されるXPathオブジェクトに適用されます。 すでに作成されているXPathオブジェクトには影響しません。プロパティは、この
XPathFactoryで定義することも、基礎となる実装で定義することもできます。- 実装要件:
- デフォルト実装は、
UnsupportedOperationExceptionをスローします。 - パラメータ:
name- プロパティ名value- プロパティの値- スロー:
IllegalArgumentException- プロパティ名が認識されない場合、または値を割り当てることができない場合UnsupportedOperationException- 実装でメソッドがサポートされていない場合NullPointerException-nameがnullである場合- 導入されたバージョン:
- 18
-
getProperty
指定されたプロパティの値を返します。- 実装要件:
- デフォルト実装は、
UnsupportedOperationExceptionをスローします。 - パラメータ:
name- プロパティ名- 戻り値:
- プロパティの値。
- スロー:
IllegalArgumentException- プロパティ名が認識されない場合UnsupportedOperationException- 実装でメソッドがサポートされていない場合NullPointerException-nameがnullである場合- 導入されたバージョン:
- 18
-