|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--org.xml.sax.HandlerBase
|
+--org.apache.struts.digester.Digester
Digester は、
一連のネストした要素のパターンを検出することによって実行されるルールを、
パースの開始前に追加し、 それによって XML 入力ストリームの処理を行います。
このパッケージは Tomcat 3.0 と 3.1 に含まれる(わずかに差異はありますが)
XmlMapper クラスに依存します。
さらに情報を得たい場合は Digester 開発ガイドを参照してください。
実装時の注意 - 単一の Digester
インスタンスを単一のスレッド内からのみ実行し、また、
同一のスレッドからでも、 parse() の呼び出しは、
次に呼び出すまでに完了していなくてはなりません。
| フィールドの概要 | |
protected java.lang.StringBuffer |
bodyText
処理中の要素のボディテキスト。 |
protected ArrayStack |
bodyTexts
一連の要素のボディテキストの( StringBuffer 型の)スタック。 |
protected int |
debug
このコンポーネントのデバッグ詳細レベル。 |
protected java.util.HashMap |
dtds
登録済みDTDのURL。 |
protected org.xml.sax.ErrorHandler |
errorHandler
アプリケーションが用意するエラーハンドラ。 |
protected org.xml.sax.Locator |
locator
parser に関連する Locator 。 |
protected java.lang.String |
match
ネストされた要素の処理の中で現在、検出しているパターン。 |
protected javax.xml.parsers.SAXParser |
parser
入力ストリームをパースするために使用する SAXParser。 |
protected java.lang.Object |
root
スタックの”ルート”要素(言い換えれば、最後にポップされたオブジェクト) |
protected java.util.HashMap |
rules
Digester に登録された一連のルール。 |
protected ArrayStack |
stack
構築されるオブジェクトスタック。 |
protected boolean |
validating
パーサに妥当性検査をさせたいかどうか? |
| コンストラクタの概要 | |
Digester()
デフォルトプロパティで Digester を新規に構築します。 |
|
| メソッドの概要 | |
void |
addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount)
指定されたパラメータに関連した "メソッドを呼び出す" ルールを追加します。 |
void |
addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount,
java.lang.Class[] paramTypes)
指定されたパラメータに関連した "メソッドを呼び出す" ルールを追加します。 |
void |
addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount,
java.lang.String[] paramTypes)
指定されたパラメータに関連した "メソッドを呼び出す" ルールを追加します。 |
void |
addCallParam(java.lang.String pattern,
int paramIndex)
指定されたパラメータに関連した "パラメータを呼び出す" ルールを追加します。 |
void |
addCallParam(java.lang.String pattern,
int paramIndex,
java.lang.String attributeName)
指定されたパラメータに関連した "パラメータを呼び出す" ルールを追加します。 |
void |
addObjectCreate(java.lang.String pattern,
java.lang.String className)
指定されたパラメータに関連した "オブジェクトを生成する" ルールを追加します。 |
void |
addObjectCreate(java.lang.String pattern,
java.lang.String className,
java.lang.String attributeName)
指定されたパラメータに関連した "オブジェクトを生成する" ルールを追加します。 |
void |
addRule(java.lang.String pattern,
Rule rule)
指定されたパターンを検出するルールを新規に登録します。 |
void |
addSetNext(java.lang.String pattern,
java.lang.String methodName)
指定されたパラメータに関連した "次のオブジェクトをセットする" ルールを追加します。 |
void |
addSetNext(java.lang.String pattern,
java.lang.String methodName,
java.lang.String paramType)
指定されたパラメータに関連した "次のオブジェクトをセットする" ルールを追加します。 |
void |
addSetProperties(java.lang.String pattern)
指定されたパラメータに関連した "複数のプロパティを設定する" ルールを追加します。 |
void |
addSetProperty(java.lang.String pattern,
java.lang.String name,
java.lang.String value)
指定されたパラメータに関連した "プロパティを設定する" ルールを追加します。 |
void |
addSetTop(java.lang.String pattern,
java.lang.String methodName)
指定されたパラメータに関連した "最上位オブジェクトをセットする" ルールを追加します。 |
void |
addSetTop(java.lang.String pattern,
java.lang.String methodName,
java.lang.String paramType)
指定されたパラメータに関連した "最上位オブジェクトをセットする" ルールを追加します。 |
void |
characters(char[] buffer,
int start,
int length)
XML 要素のボディから文字データを受け取ったことをプロセスから通知されます。 |
void |
clear()
オブジェクトスタックの現在の状態をクリアします。 |
void |
endDocument()
ドキュメントの最後に到達したことをプロセスから通知されます。 |
void |
endElement(java.lang.String name)
XML 要素の最後に到達したことをプロセスから通知されます。 |
void |
error(org.xml.sax.SAXParseException exception)
パース時のエラーを(もしあれば)アプリケーションのエラーハンドラへ通知します。 |
void |
fatalError(org.xml.sax.SAXParseException exception)
パース時の致命的なエラーを(もしあれば)アプリケーションのエラーハンドラへ通知します。 |
int |
getCount()
要素のスタックの現在の深さを返します。 |
int |
getDebug()
Digester のデバッグ詳細レベルを返します。 |
org.xml.sax.ErrorHandler |
getErrorHandler()
Digester のエラーハンドラを返します。 |
javax.xml.parsers.SAXParser |
getParser()
入力ストリームのパースに使用する SAXParser を返します。 |
protected java.util.List |
getRules(java.lang.String match)
指定した検出位置に対応する、一揃えのルールを返します。 |
boolean |
getValidating()
パーサの妥当性検査フラグを返します。 |
void |
ignorableWhitespace(char[] buffer,
int start,
int len)
XML 要素のボディから除去される空白を受け取ったことをプロセスから通知されます。 |
void |
log(java.lang.String message)
現在の状況に関するメッセージをログ出力へ送ります。 |
void |
log(java.lang.String message,
java.lang.Throwable exception)
現在の状況に関するメッセージと関連する例外をログ出力へ送ります。 |
void |
notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
表記法宣言の通知イベントを受け取ります。 |
java.lang.Object |
parse(java.io.File file)
Digester を使って、指定されたファイルの内容をパースします。 |
java.lang.Object |
parse(org.xml.sax.InputSource input)
Digester を使って、指定された入力ソースの内容をパースします。 |
java.lang.Object |
parse(java.io.InputStream input)
Digester を使って、指定された入力ストリームの内容をパースします。 |
java.lang.Object |
parse(java.lang.String uri)
Digester を使って、指定された URI の内容をパースします。 |
java.lang.Object |
peek()
スタックの最上位オブジェクトを取り除かずに返します。 |
java.lang.Object |
peek(int n)
スタックの n 番目のオブジェクトを返し、0は最上位要素を、 [getCount()-1] は最下位要素を指します。 |
java.lang.Object |
pop()
ポップはスタックから最上位オブジェクトを取り除き、それを返します。 |
void |
processingInstruction(java.lang.String target,
java.lang.String data)
処理命令があったことをプロセスから通知されます。 |
void |
push(java.lang.Object object)
オブジェクトスタックの一番上に新しくオブジェクトをプッシュ[訳注:押し込む]します。 |
void |
register(java.lang.String publicId,
java.lang.String dtdURL)
指定された公開識別子に対して指定された DTD の URL を登録します。 |
org.xml.sax.InputSource |
resolveEntity(java.lang.String publicId,
java.lang.String systemId)
要求される外部エンティティを解決します。 |
void |
setDebug(int debug)
Digester のデバッグ詳細レベルを設定します。 |
void |
setDocumentLocator(org.xml.sax.Locator locator)
パーサに関連するドキュメントロケータを設定します。 |
void |
setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
Digester のエラーハンドラを設定します。 |
void |
setValidating(boolean validating)
パーサの妥当性検査フラグを設定します。 |
void |
startDocument()
ドキュメントの先頭に到達したことをプロセスから通知されます。 |
void |
startElement(java.lang.String name,
org.xml.sax.AttributeList list)
XML 要素の先頭に到達したことをプロセスから通知されます。 |
void |
unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notation)
未解析構文エンティティ宣言の通知イベントを受け取ります。 |
void |
warning(org.xml.sax.SAXParseException exception)
パース時に警告が発生した場合、アプリケーションのエラーハンドラへ通知します。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
protected java.lang.StringBuffer bodyText
protected ArrayStack bodyTexts
protected int debug
protected java.util.HashMap dtds
protected org.xml.sax.ErrorHandler errorHandler
protected org.xml.sax.Locator locator
protected java.lang.String match
protected javax.xml.parsers.SAXParser parser
protected java.lang.Object root
protected java.util.HashMap rules
protected ArrayStack stack
protected boolean validating
| コンストラクタの詳細 |
public Digester()
| メソッドの詳細 |
public int getCount()
public int getDebug()
public void setDebug(int debug)
debug - 新しいデバッグ詳細レベルpublic org.xml.sax.ErrorHandler getErrorHandler()
public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)
errorHandler - 新しいエラーハンドラpublic javax.xml.parsers.SAXParser getParser()
null を返します。
public boolean getValidating()
public void setValidating(boolean validating)
parse()
の最初の呼び出し以前に必ず設定してください。
validating - 新しいパーサの妥当性検査フラグ。
public void characters(char[] buffer,
int start,
int length)
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の charactersorg.xml.sax.HandlerBase 内の charactersbuffer - XML ドキュメントからの複数の文字start - buffer の文字列の開始位置length - buffer の文字数
org.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void endDocument()
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の endDocumentorg.xml.sax.HandlerBase 内の endDocumentorg.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void endElement(java.lang.String name)
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の endElementorg.xml.sax.HandlerBase 内の endElementname - 終了した要素の名前
org.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void ignorableWhitespace(char[] buffer,
int start,
int len)
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の ignorableWhitespaceorg.xml.sax.HandlerBase 内の ignorableWhitespacebuffer - XML ドキュメントからの複数の文字start - buffer の文字列の開始位置
org.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void processingInstruction(java.lang.String target,
java.lang.String data)
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の processingInstructionorg.xml.sax.HandlerBase 内の processingInstructiontarget - 処理命令の内容data - (もしあれば)処理命令のデータ
org.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されますpublic void setDocumentLocator(org.xml.sax.Locator locator)
org.xml.sax.DocumentHandler 内の setDocumentLocatororg.xml.sax.HandlerBase 内の setDocumentLocatorlocator - 新しいロケータ
public void startDocument()
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の startDocumentorg.xml.sax.HandlerBase 内の startDocumentorg.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void startElement(java.lang.String name,
org.xml.sax.AttributeList list)
throws org.xml.sax.SAXException
org.xml.sax.DocumentHandler 内の startElementorg.xml.sax.HandlerBase 内の startElementname - 開始した要素の名前list - 当該要素を構成する属性
org.xml.sax.SAXException - パース時にエラーが発生した場合にエラーが報告されます
public void notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
org.xml.sax.DTDHandler 内の notationDeclorg.xml.sax.HandlerBase 内の notationDeclname - 表記法名publicId - 公開識別子(もしあれば)systemId - システム識別子(もしあれば)
public void unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notation)
org.xml.sax.DTDHandler 内の unparsedEntityDeclorg.xml.sax.HandlerBase 内の unparsedEntityDeclname - 未解析構文エンティティ名publicId - 公開識別子(もしあれば)systemId - システム識別子(もしあれば)notation - 関連表記法名
public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
java.lang.String systemId)
throws org.xml.sax.SAXException
org.xml.sax.EntityResolver 内の resolveEntityorg.xml.sax.HandlerBase 内の resolveEntitypublicId - 参照されるエンティティの公開識別子systemId - 参照されるエンティティのシステム識別子
org.xml.sax.SAXException - パース時に起こる例外
public void error(org.xml.sax.SAXParseException exception)
throws org.xml.sax.SAXException
org.xml.sax.ErrorHandler 内の errororg.xml.sax.HandlerBase 内の errorexception - エラー情報
org.xml.sax.SAXException - パース時に起こる例外
public void fatalError(org.xml.sax.SAXParseException exception)
throws org.xml.sax.SAXException
org.xml.sax.ErrorHandler 内の fatalErrororg.xml.sax.HandlerBase 内の fatalErrorexception - 致命的なエラー情報
org.xml.sax.SAXException - パース時に起こる例外
public void warning(org.xml.sax.SAXParseException exception)
throws org.xml.sax.SAXException
org.xml.sax.ErrorHandler 内の warningorg.xml.sax.HandlerBase 内の warningexception - 警告情報
org.xml.sax.SAXException - パース時に起こる例外public void log(java.lang.String message)
message - ログに記録されるメッセージ
public void log(java.lang.String message,
java.lang.Throwable exception)
message - ログに記録されるメッセージexception - ログに記録される例外
public java.lang.Object parse(java.io.File file)
throws java.io.IOException,
org.xml.sax.SAXException
file - パースされる XML データを含むファイル
java.io.IOException - 入/出力時にエラーが起こきた場合
org.xml.sax.SAXException - パース時にエラーが起こきた場合
public java.lang.Object parse(org.xml.sax.InputSource input)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOException - 入/出力時にエラーが起こきた場合
org.xml.sax.SAXException - パース時にエラーが起こきた場合
public java.lang.Object parse(java.io.InputStream input)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOException - 入/出力時にエラーが起こきた場合
org.xml.sax.SAXException - パース時にエラーが起こきた場合
public java.lang.Object parse(java.lang.String uri)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOException - 入/出力時にエラーが起こきた場合
org.xml.sax.SAXException - パース時にエラーが起こきた場合
public void register(java.lang.String publicId,
java.lang.String dtdURL)
parse() の最初の呼び出し前にこれを呼び出しておく必要があります。
publicId - 解決される DTD の公開識別子dtdURL - この DTD を読み込むときに使用する URL
public void addRule(java.lang.String pattern,
Rule rule)
pattern - 要素の照合パターンrule - 登録するルール
public void addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount)
pattern - 要素の照合パターンmethodName - 呼び出されるメソッドの名前paramCount - 必要なパラメータの数
(要素のボディを単一のパラメータとする0個を含む)
public void addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount,
java.lang.String[] paramTypes)
pattern - 要素の照合パターンmethodName - 呼び出されるメソッドの名前paramCount - 期待される必要なパラメータの数
(要素のボディを単一のパラメータとする0個を含む)paramTypes - 期待されるパラメータの型の Java クラス名
(プリミティブ型を使用したい場合は、 boolean に対する
java.lang.Boolean のように、 Java ラッパクラスで代替してください)
public void addCallMethod(java.lang.String pattern,
java.lang.String methodName,
int paramCount,
java.lang.Class[] paramTypes)
pattern - 要素の照合パターンmethodName - 呼び出されるメソッドの名前paramCount - 期待されるパラメータの数
(要素のボディを単一のパラメータとする0個を含む)paramTypes - 期待されるパラメータの型の Java クラス名
(プリミティブ型を使用したい場合は、 boolean に対する
java.lang.Boolean のように、 Java ラッパクラスで代替してください)
public void addCallParam(java.lang.String pattern,
int paramIndex)
pattern - 要素の照合パターンparamIndex - (要素のボディ部分を)セットしたいパラメータの、0以降のインデックス
public void addCallParam(java.lang.String pattern,
int paramIndex,
java.lang.String attributeName)
pattern - 要素の照合パターンparamIndex - (指定したアトリビュートを)セットしたいパラメータの0以降のインデックスattributeName - このアトリビュートの値を使用してパラメータの値にします
public void addObjectCreate(java.lang.String pattern,
java.lang.String className)
pattern - 要素の照合パターンclassName - 生成する Java クラスの名前
public void addObjectCreate(java.lang.String pattern,
java.lang.String className,
java.lang.String attributeName)
pattern - 要素の照合パターンclassName - 生成する Java クラスの名前attributeName - 生成する、デフォルトの Java クラス名を代替する、アトリビュートの名前
public void addSetNext(java.lang.String pattern,
java.lang.String methodName)
pattern - 要素の照合パターンmethodName - 呼び出したい親要素のメソッドの名前
public void addSetNext(java.lang.String pattern,
java.lang.String methodName,
java.lang.String paramType)
pattern - 要素の照合パターンmethodName - 呼び出したい親のメソッドの名前public void addSetProperties(java.lang.String pattern)
pattern - 要素の照合パターン
public void addSetProperty(java.lang.String pattern,
java.lang.String name,
java.lang.String value)
pattern - 要素の照合パターンname - 設定したいプロパティの名前を含む、アトリビュートの名前value - 設定したいプロパティの値を含む、アトリビュートの名前
public void addSetTop(java.lang.String pattern,
java.lang.String methodName)
pattern - 要素の照合パターンmethodName - 呼び出したい親要素のメソッド名
public void addSetTop(java.lang.String pattern,
java.lang.String methodName,
java.lang.String paramType)
pattern - 要素の照合パターンmethodName - 呼び出したい親要素のメソッド名public void clear()
public java.lang.Object peek()
null を返します。
public java.lang.Object peek(int n)
null を返します。
n - 要素のインデックス、0はスタックの最上位を、
1はその下に続く要素を、と続きます。public java.lang.Object pop()
null を返します。
public void push(java.lang.Object object)
object - 新しいオブジェクトprotected java.util.List getRules(java.lang.String match)
match - 指定する検出位置
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||