クラス VisitContext

java.lang.ObjectSE
jakarta.faces.component.visit.VisitContext
既知の直属サブクラス
VisitContextWrapper

public abstract class VisitContext extends ObjectSE

コンポーネントツリーの訪問の実行に関連する状態を保持するために使用されるコンテキストオブジェクト。

コンポーネントツリーへのアクセスは UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) を呼び出すことで開始されます。その時点で、VisitContextVisitCallback の両方を提供する必要があります。

導入:
2.0
関連事項:
  • フィールドの詳細

    • ALL_IDS

      public static final CollectionSE<StringSE> ALL_IDS

      この変更不可能なコレクションは、すべての ID にアクセスする必要がある場合に、getIdsToVisit() および getSubtreeIdsToVisit() によって返されます。

      visitTree() 実装のロジックを簡略化するために、このコレクションは常に isEmpty の false を返します。他のすべてのメソッドは UnsupportedOperationException をスローします。

      導入:
      2.0
  • コンストラクターの詳細

    • VisitContext

      public VisitContext()
  • メソッドの詳細

    • getFacesContext

      public abstract FacesContext getFacesContext()

      現在のリクエストの FacesContext を返します。

      戻り値:
      FacesContext。
      導入:
      2.0
    • getIdsToVisit

      public abstract CollectionSE<StringSE> getIdsToVisit()

      アクセスするコンポーネントの ID を返します。

      完全なツリーアクセスの場合、このメソッドは ALL_IDS コレクションを返します。それ以外の場合、部分的なアクセスが実行されると、アクセスする必要があるコンポーネントのクライアント ID を含む変更可能なコレクションを返します。

      戻り値:
      訪問するコンポーネントの ID
    • getSubtreeIdsToVisit

      public abstract CollectionSE<StringSE> getSubtreeIdsToVisit(UIComponent component)

      NamingContainer コンポーネントを指定すると、アクセスする必要がある NamingContainer のすべてのコンポーネントのクライアント ID を返します。

      このメソッドは、NamingContainer にアクセスするコンポーネントが含まれているかどうかを判断するために、NamingContainer visitTree() 実装によって呼び出されます。そのようなコンポーネントが存在しない場合、NamingContainer はツリーの訪問を短絡し、子サブツリーへの下降を回避できます。

      さらに、UIData などの反復コンポーネントは、返された ID を使用して、どの反復状態(つまり行)にアクセスする必要があるかを判断できる場合があります。これにより、訪問トラバーサルを制約することができ、訪問ターゲットを含む行のみをトラバースする必要があります。

      パラメーター:
      component - NamingContainer コンポーネント
      戻り値:
      ツリーの訪問のターゲットであることがわかっている NamingContainer のコンポーネントのクライアント ID を含む変更不可能なコレクション。そのようなコンポーネントが存在しない場合は、空のコレクションを返します。NamingContainer のすべてのコンポーネントにアクセスする必要がある場合は、VisitContext.ALL_IDS コレクションを返します。
      例外:
      IllegalArgumentExceptionSE - component が NamingContainer のインスタンスでない場合
    • invokeVisitCallback

      public abstract VisitResult invokeVisitCallback(UIComponent component, VisitCallback callback)

      単一のコンポーネントを訪問するために UIComponent.visitTree() によって呼び出されます。

      パラメーター:
      component - 訪問するコンポーネント
      callback - 呼び出す VisitCallback
      戻り値:
      コンポーネントのサブツリーへのアクセスを続行するか、コンポーネントのサブツリーへのアクセスをスキップするか、訪問を完全に中止するかを示す VisitResult 値。
    • getHints

      public abstract SetSE<VisitHint> getHints()

      ツリー訪問の動作に影響を与えるヒントを返します。

      UIComponent.visitTree() 実装などの関係者は、VisitContext.getHints().contains() を呼び出して VisitHint で定義されたヒントの 1 つを渡すことにより、特定のヒントが存在するかどうかを確認できます。

      戻り値:
      空ではなく、変更できない VisitHints のコレクション
    • createVisitContext

      public static VisitContext createVisitContext(FacesContext context, CollectionSE<StringSE> ids, SetSE<VisitHint> hints)

      UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) で使用するために、指定された ID とヒントで初期化された VisitContext インスタンスを返します。

      パラメーター:
      context - 現在のリクエストの FacesContext
      ids - 訪問するコンポーネントのクライアント ID。null の場合、すべてのコンポーネントが訪問されます。
      hints - 訪問に適用する VisitHints。null の場合、ヒントは適用されません。
      戻り値:
      指定された ID とヒントで初期化される VisitContext インスタンス。
    • createVisitContext

      public static VisitContext createVisitContext(FacesContext context)

      UIComponent.visitTree() で使用する VisitContext インスタンスを作成します。このメソッドは、デフォルトの訪問ヒントを使用してすべてのコンポーネントにアクセスする必要がある場合に、VisitContext インスタンスを取得するために使用できます。

      パラメーター:
      context - 現在のリクエストの FacesContext
      戻り値:
      VisitContext インスタンス