public abstract class SearchExpressionHandler extends ObjectSE
検索式は、識別子(UIComponent の id プロパティと完全に一致するか、キーワード(@this や @form など))、UINamingContainer.getSeparatorChar(javax.faces.context.FacesContext) 文字値によってリンクされた一連のそのような識別子とキーワードで構成されます。SearchKeywordResolver を参照してください。サポートされているキーワードのリスト。検索アルゴリズムは次のように動作する必要がありますが、最終結果が同じである限り、代替のアルゴリズムを使用できます。
UIComponent を特定します。UIViewRoot になります。先頭の区切り文字は削除され、検索式の残りの部分は、以下で説明する「相対」検索式として扱われます。SearchExpressionContext.getSource() が使用されます。UINamingContainer.getSeparatorChar(javax.faces.context.FacesContext) によって「コマンド」に分割されます。コマンドは 1 つずつ解決されます。最初のコマンドでは、前述のようにソースコンポーネントを使用して検索を開始します。以降のすべてのコマンドでは、前のコマンドからの前の解決済みコンポーネントがルックアップの開始に使用されます。KEYWORD_PREFIX で始まる場合、キーワードと見なされ、SearchKeywordResolver がキーワードの解決に使用されます。KEYWORD_PREFIX で始まらないと、コンポーネントはコンポーネント ID に基づいて解決されます。| 修飾子と型 | フィールドと説明 |
|---|---|
protected static char[] | EXPRESSION_SEPARATOR_CHARS一連の式で式を区切るために使用されるデフォルトの文字。 |
static StringSE | KEYWORD_PREFIXキーワードを識別するための接頭辞。 |
| コンストラクターと説明 |
|---|
SearchExpressionHandler() |
| 修飾子と型 | メソッドと説明 |
|---|---|
char[] | getExpressionSeperatorChars(FacesContext context)一連の式で式を区切るために使用される文字を返します。 |
void | invokeOnComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback) 指定された式の複数の |
abstract void | invokeOnComponent(SearchExpressionContext searchExpressionContext, UIComponent previous, StringSE expression, ContextCallback callback) 指定された式の複数の |
abstract boolean | isPassthroughExpression(SearchExpressionContext searchExpressionContext, StringSE expression)指定された式が「パススルー式」かどうかを確認します。 |
abstract boolean | isValidExpression(SearchExpressionContext searchExpressionContext, StringSE expression)指定された式が有効な式であるかどうかを確認します。 |
abstract StringSE | resolveClientId(SearchExpressionContext searchExpressionContext, StringSE expression)指定された式に対して単一の clientId またはパススルー式に解決されます。 |
abstract ListSE<StringSE> | resolveClientIds(SearchExpressionContext searchExpressionContext, StringSE expressions) 指定された式に対して、clientIds またはパススルー式を使用して |
abstract void | resolveComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback) 指定された式の単一の |
abstract void | resolveComponents(SearchExpressionContext searchExpressionContext, StringSE expressions, ContextCallback callback) 指定された式の複数の |
abstract StringSE[] | splitExpressions(FacesContext context, StringSE expressions) 可能性のある複数の式を持つ |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEprotected static final char[] EXPRESSION_SEPARATOR_CHARS
一連の式で式を区切るために使用されるデフォルトの文字。式はデフォルトでスペースとカンマで区切られています。
public abstract StringSE resolveClientId(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式に対して単一の clientId またはパススルー式に解決されます。
searchExpressionContext - SearchExpressionContextexpression - 検索式 SearchExpressionHint.IGNORE_NO_RESULT が渡された場合は、null が返されます。ComponentNotFoundException - 式を解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT が渡されなかった場合。FacesException - 式が無効な場合。public abstract ListSE<StringSE> resolveClientIds(SearchExpressionContext searchExpressionContext, StringSE expressions)
指定された式に対して、clientIds またはパススルー式を使用して ListSE に解決します。式は splitExpressions(javax.faces.context.FacesContext, java.lang.String) によって分割され、1 つずつ解決されます。
searchExpressionContext - SearchExpressionContextexpressions - 検索式 ComponentNotFoundException - 式の 1 つを解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT が渡されなかった場合。FacesException - 式が無効な場合。public abstract void resolveComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback)
指定された式の単一の UIComponent を解決します。コンポーネントが解決されると、ContextCallback が呼び出されます。
searchExpressionContext - SearchExpressionContextexpression - 検索式 callback - 解決されたコンポーネントのコールバック ComponentNotFoundException - 式を解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT が渡されなかった場合。FacesException - 式が無効な場合。public abstract void resolveComponents(SearchExpressionContext searchExpressionContext, StringSE expressions, ContextCallback callback)
指定された式の複数の UIComponent を解決します。式は splitExpressions(javax.faces.context.FacesContext, java.lang.String) によって分割され、1 つずつ解決されます。解決されたコンポーネントごとに、ContextCallback が呼び出されます。
searchExpressionContext - SearchExpressionContextexpressions - 検索式 callback - 解決された各コンポーネントのコールバック ComponentNotFoundException - いずれかの式を解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT が渡されなかった場合。FacesException - 式が無効な場合。public void invokeOnComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback)
指定された式の複数の UIComponent を解決します。解決されたコンポーネントごとに、ContextCallback が呼び出されます。このメソッドは、API で最も重要なメソッドです。キーワードと ID の再帰を処理するアルゴリズムを実装します。
searchExpressionContext - SearchExpressionContextexpression - 検索式 callback - 解決されたコンポーネントのコールバック FacesException - 式が無効な場合。public abstract void invokeOnComponent(SearchExpressionContext searchExpressionContext, UIComponent previous, StringSE expression, ContextCallback callback)
指定された式の複数の UIComponent を解決します。解決されたコンポーネントごとに、ContextCallback が呼び出されます。このメソッドは、API で最も重要なメソッドです。キーワードと ID の再帰を処理するアルゴリズムを実装します。
searchExpressionContext - SearchExpressionContextprevious - 検索のベースとなる、以前に解決されたコンポーネント expression - 検索式 callback - 解決されたコンポーネントのコールバック FacesException - 式が無効な場合。public abstract StringSE[] splitExpressions(FacesContext context, StringSE expressions)
可能性のある複数の式を持つ getExpressionSeperatorChars(javax.faces.context.FacesContext) に基づいて、文字列を配列に分割します。
context - 現在のリクエストの FacesContextexpressions - 文字列としての式 public abstract boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式が「パススルー式」かどうかを確認します。パススルー式はキーワードのみでなければなりません。このキーワードは SearchKeywordResolver によって解決されず、そのままの状態で返されます。クライアントは後で解決する責任があります。
searchExpressionContext - SearchExpressionContextexpression - 表現 public abstract boolean isValidExpression(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式が有効な式であるかどうかを確認します。
SearchKeywordResolver はありません searchExpressionContext - SearchExpressionContextexpression - 表現 public char[] getExpressionSeperatorChars(FacesContext context)
一連の式で式を区切るために使用される文字を返します。デフォルトの実装は EXPRESSION_SEPARATOR_CHARS を返します。
context - 現在のリクエストの FacesContextCopyright © 2019 Eclipse Foundation.
Use is subject to license terms.