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, waitSE
protected static final char[] EXPRESSION_SEPARATOR_CHARS
一連の式で式を区切るために使用されるデフォルトの文字。式はデフォルトでスペースとカンマで区切られています。
public abstract StringSE resolveClientId(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式に対して単一の clientId またはパススルー式に解決されます。
searchExpressionContext
- SearchExpressionContext
expression
- 検索式 SearchExpressionHint.IGNORE_NO_RESULT
が渡された場合は、null
が返されます。ComponentNotFoundException
- 式を解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT
が渡されなかった場合。FacesException
- 式が無効な場合。public abstract ListSE<StringSE> resolveClientIds(SearchExpressionContext searchExpressionContext, StringSE expressions)
指定された式に対して、clientIds またはパススルー式を使用して List
SE に解決します。式は splitExpressions(javax.faces.context.FacesContext, java.lang.String)
によって分割され、1 つずつ解決されます。
searchExpressionContext
- SearchExpressionContext
expressions
- 検索式 ComponentNotFoundException
- 式の 1 つを解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT
が渡されなかった場合。FacesException
- 式が無効な場合。public abstract void resolveComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback)
指定された式の単一の UIComponent
を解決します。コンポーネントが解決されると、ContextCallback
が呼び出されます。
searchExpressionContext
- SearchExpressionContext
expression
- 検索式 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
- SearchExpressionContext
expressions
- 検索式 callback
- 解決された各コンポーネントのコールバック ComponentNotFoundException
- いずれかの式を解決できない場合、および SearchExpressionHint.IGNORE_NO_RESULT
が渡されなかった場合。FacesException
- 式が無効な場合。public void invokeOnComponent(SearchExpressionContext searchExpressionContext, StringSE expression, ContextCallback callback)
指定された式の複数の UIComponent
を解決します。解決されたコンポーネントごとに、ContextCallback
が呼び出されます。このメソッドは、API で最も重要なメソッドです。キーワードと ID の再帰を処理するアルゴリズムを実装します。
searchExpressionContext
- SearchExpressionContext
expression
- 検索式 callback
- 解決されたコンポーネントのコールバック FacesException
- 式が無効な場合。public abstract void invokeOnComponent(SearchExpressionContext searchExpressionContext, UIComponent previous, StringSE expression, ContextCallback callback)
指定された式の複数の UIComponent
を解決します。解決されたコンポーネントごとに、ContextCallback
が呼び出されます。このメソッドは、API で最も重要なメソッドです。キーワードと ID の再帰を処理するアルゴリズムを実装します。
searchExpressionContext
- SearchExpressionContext
previous
- 検索のベースとなる、以前に解決されたコンポーネント expression
- 検索式 callback
- 解決されたコンポーネントのコールバック FacesException
- 式が無効な場合。public abstract StringSE[] splitExpressions(FacesContext context, StringSE expressions)
可能性のある複数の式を持つ getExpressionSeperatorChars(javax.faces.context.FacesContext)
に基づいて、文字列を配列に分割します。
context
- 現在のリクエストの FacesContext
expressions
- 文字列としての式 public abstract boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式が「パススルー式」かどうかを確認します。パススルー式はキーワードのみでなければなりません。このキーワードは SearchKeywordResolver
によって解決されず、そのままの状態で返されます。クライアントは後で解決する責任があります。
searchExpressionContext
- SearchExpressionContext
expression
- 表現 public abstract boolean isValidExpression(SearchExpressionContext searchExpressionContext, StringSE expression)
指定された式が有効な式であるかどうかを確認します。
SearchKeywordResolver
はありません searchExpressionContext
- SearchExpressionContext
expression
- 表現 public char[] getExpressionSeperatorChars(FacesContext context)
一連の式で式を区切るために使用される文字を返します。デフォルトの実装は EXPRESSION_SEPARATOR_CHARS
を返します。
context
- 現在のリクエストの FacesContext
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.