3.4.7 高速パース機能で使用するクラス
高速パース機能を使用する場合,次に示すクラスを使用します。
-
PreparsedObjectFactory
-
PreparsedObject
各クラスについて説明します。
(1) PreparsedObjectFactoryクラス
(a) 説明
解析結果オブジェクトを生成するためのファクトリクラスです。
PreparsedObjectFactoryクラスは,スレッドセーフではありません。このため,複数のスレッドから同時に同じPreparsedObjectFactoryにアクセスすることはできません。PreparsedObjectFactoryクラスは,スレッド間の競合を避けるため,次のどちらかの方法で使用してください。
-
各スレッドに1つのPreparsedObjectFactoryインスタンスを持つ。
-
各スレッドが排他的にPreparsedObjectFactoryインスタンスにアクセスする。
(b) パッケージ名およびクラス名
com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactory
(c) 形式
public class PreparsedObjectFactory
(d) メソッド一覧
メソッド名 |
機能 |
---|---|
解析結果オブジェクトを生成するためのファクトリを生成して返却する。 |
|
事前解析用XML文書を解析する際の名前空間の有効・無効を設定する。 |
|
事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定する。 |
|
事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定する。 |
|
チューニング情報を出力するかどうかを設定する。 |
|
事前解析用XML文書を解析して,解析結果オブジェクトを生成する。 |
(e) メソッド詳細
- newInstanceメソッド
-
- 説明
-
解析結果オブジェクトを生成するためのファクトリを生成して返却します。
- 形式
public static PreparsedObjectFactory newInstance()
- パラメタ
-
なし
- 戻り値
-
PreparsedObjectFactoryの新しいインスタンスを返却します。
- 例外
-
なし
- setNamespaceAwareメソッド
-
- 説明
-
事前解析用XML文書を解析する際の名前空間の有効・無効を設定します。
デフォルトでは,falseが設定されています。
- 形式
public void setNamespaceAware(boolean awareness)
- パラメタ
-
-
awareness
名前空間の有効・無効を設定します。
true:名前空間を有効にする
false:名前空間を無効にする
-
- 戻り値
-
なし
- 例外
-
なし
- setErrorHandlerメソッド
-
- 説明
-
newPreparsedObjectメソッドを呼び出す際に,事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定します。
デフォルトでは,次のエラーハンドラが設定されているように動作します。
class DefaultErrorHandler implements ErrorHandler { public void fatalError(SAXParseException e) throws SAXException { throw e; } public void error(SAXParseException e) throws SAXException { throw e; } public void warning(SAXParseException e) throws SAXException { // 何もしない } }
- 形式
public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
- パラメタ
-
-
errorHandler
エラーハンドラを設定します。nullを設定した場合,デフォルトの動作になります。
-
- 戻り値
-
なし
- 例外
-
なし
- setEntityResolverメソッド
-
- 説明
-
newPreparsedObjectメソッドを呼び出す際に,事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定します。
デフォルトでは,次のエンティティリゾルバが設定されているように動作します。
class DefaultEntityResolver implements EntityResolver { InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return null; // 常にnullを返す } }
- 形式
public void setEntityResolver(org.xml.sax.EntityResolver entityResolver)
- パラメタ
-
-
entityResolver
エンティティリゾルバを設定します。nullを設定した場合,デフォルトの動作になります。
-
- 戻り値
-
なし
- 例外
-
なし
- setTuningInfoFlagメソッド
-
- 説明
-
チューニング情報を出力するかどうかを設定します。
デフォルトでは,falseが設定されています。
チューニング情報を出力する場合は,このメソッドでtrueを設定し,システムプロパティ「com.cosminexus.jaxp.preparsedxml.tuning.level」にINFOを設定する必要があります。チューニング情報の出力方法の詳細については,「3.4.9(3) チューニング情報の出力方法」を参照してください。
- 形式
public void setTuningInfoFlag(boolean state)
- パラメタ
-
-
state
チューニング情報を出力するかどうかを設定します。
true:チューニング情報を出力する
false:チューニング情報を出力しない
-
- 戻り値
-
なし
- 例外
-
なし
- newPreparsedObjectメソッド
-
- 説明
-
事前解析用XML文書を解析して,解析結果オブジェクトを生成します。
- 形式
-
public PreparsedObject newPreparsedObject(java.io.File xml)
throws IllegalArgumentException, SAXException, IOException
- パラメタ
-
-
xml
事前解析用XML文書を示すFileオブジェクトを指定します。nullは指定できません。
-
- 戻り値
-
解析結果オブジェクトであるPreparsedObjectの新しいインスタンスを返却します。
- 例外
-
-
IllegalArgumentException
xmlパラメタにnullが指定されているときに発生します。
-
SAXException
次の場合に発生します。
・処理中にSAXエラーが発生したとき
・XML1.1文書を事前解析しようとしたとき(詳細については「6.19.3 XML1.1に関する注意事項」を参照のこと)
-
IOException
入出力エラーが発生したときに発生します。
-
(2) PreparsedObjectクラス
(a) 説明
解析結果オブジェクトを示すクラスです。
(b) パッケージ名およびクラス名
com.cosminexus.jaxp.preparsedxml.PreparsedObject
(c) 形式
public class PreparsedObject
(d) メソッド一覧
メソッド名 |
機能 |
---|---|
事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却する。 |
|
事前解析用XML文書を解析する際に設定されたエラーハンドラを返却する。 |
|
事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却する。 |
(e) メソッド詳細
- isNamespaceAwareメソッド
-
- 説明
-
事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却します。
- 形式
public boolean isNamespaceAware()
- パラメタ
-
なし
- 戻り値
-
true:名前空間が有効である
false:名前空間が無効である
- 例外
-
なし
- getErrorHandlerメソッド
-
- 説明
-
事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。
- 形式
public ErrorHandler getErrorHandler()
- パラメタ
-
なし
- 戻り値
-
事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。設定されていない場合は,nullを返却します。
- 例外
-
なし
- getEntityResolverメソッド
-
- 説明
-
事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。
- 形式
public EntityResolver getEntityResolver()
- パラメタ
-
なし
- 戻り値
-
事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。設定されていない場合は,nullを返却します。
- 例外
-
なし