パッケージ jakarta.faces.component

クラス UICommand

実装済みのインターフェース一覧:
ActionSourcePartialStateHolderStateHolderTransientStateHolderComponentSystemEventListenerFacesListenerSystemEventListenerHolderEventListenerSE
既知の直属サブクラス
HtmlCommandButtonHtmlCommandLinkHtmlCommandScript

public class UICommand extends UIComponentBase implements ActionSource

UICommand は、ユーザーによってアクティブ化されると、アプリケーション固有の「コマンド」または「アクション」をトリガーするユーザーインターフェースコンポーネントを表す UIComponent です。このようなコンポーネントは通常、プッシュボタン、メニュー項目、ハイパーリンクとしてレンダリングされます。

この UICommand の decode() メソッドまたは対応する Renderer は、このコントロールがアクティブ化されたことを検出すると、ActionEvent をキューに入れます。後で、broadcast() メソッドは、このイベントがすべての関心のあるリスナーにブロードキャストされることを保証します。

リスナーは次の順序で呼び出されます。

  1. ActionListener の登録された順序。
  2. "actionListener" MethodExpressionMethodBinding として設定された "actionListener" をカバーします)。
  3. Application から取得されたデフォルトの ActionListener。つまり、アタッチされた「アクション」MethodExpression

デフォルトでは、rendererType プロパティを "jakarta.faces.Button" に設定する必要があります。この値は、setRendererType() メソッドを呼び出すことで変更できます。

  • フィールドの詳細

  • コンストラクターの詳細

    • UICommand

      public UICommand()

      デフォルトのプロパティ値で新しい UICommand インスタンスを作成します。

  • メソッドの詳細

    • getFamily

      public StringSE getFamily()
      クラスからコピーされた説明: UIComponent

      このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、rendererType プロパティの値と組み合わせて、このコンポーネントインスタンスに適切な Renderer を選択するために使用できます。このメソッドは null を返すべきではないことに注意してください

      次で指定:
      クラス UIComponentgetFamily 
      戻り値:
      コンポーネントファミリ(null 以外)。
    • isImmediate

      public boolean isImmediate()

      即時フラグ。

      次で指定:
      インターフェース ActionSourceisImmediate 
      戻り値:
      即時の場合は true、それ以外の場合は false
    • setImmediate

      public void setImmediate(boolean immediate)
      インターフェースからコピーされた説明: ActionSource

      この UIComponent の「即時実行」フラグを設定します。

      次で指定:
      インターフェース ActionSourcesetImmediate 
      パラメーター:
      immediate - 新しい即時実行フラグ
    • getValue

      public ObjectSE getValue()

      UICommand の value プロパティを返します。これはほとんどの場合、ラベルとしてレンダリングされます。

      戻り値:
      このコンポーネントの値を表すオブジェクト。
    • setValue

      public void setValue(ObjectSE value)

      UICommand の value プロパティを設定します。これはほとんどの場合、ラベルとしてレンダリングされます。

      パラメーター:
      value - 新しい価値
    • getActionExpression

      public MethodExpression getActionExpression()
      インターフェースからコピーされた説明: ActionSource

      immediate プロパティの値に応じて、リクエスト処理ライフサイクルのリクエスト値適用フェーズまたはアプリケーションの呼び出しフェーズ中に、ユーザーがこの UIComponent をアクティブ化した場合、呼び出されるアプリケーションアクションを指す MethodExpression を返します。

      デフォルトの実装は UnsupportedOperationException をスローし、ActionSource を継承する既存のアプリケーションを壊さないという唯一の目的で提供されています。歴史的に、このメソッドはまさにこの理由から ActionSource2 で宣言されていましたが、インターフェースのデフォルトメソッドはサポートされていませんでした。

      次で指定:
      インターフェース ActionSourcegetActionExpression 
      戻り値:
      アクション式。
    • setActionExpression

      public void setActionExpression(MethodExpression actionExpression)
      インターフェースからコピーされた説明: ActionSource

      immediate プロパティの値に応じて、リクエスト処理ライフサイクルのリクエスト値適用フェーズまたはアプリケーションの呼び出しフェーズ中に、この UIComponent がユーザーによってアクティブ化された場合に呼び出されるアプリケーションアクションを指す MethodExpression を設定します。

      このような式で参照されるメソッドはすべて、String の戻り値の型でパブリックであり、パラメーターを受け入れない必要があります。

      デフォルトの実装は UnsupportedOperationException をスローし、ActionSource を継承する既存のアプリケーションを壊さないという唯一の目的で提供されています。歴史的に、このメソッドはまさにこの理由から ActionSource2 で宣言されていましたが、インターフェースのデフォルトメソッドはサポートされていませんでした。

      次で指定:
      インターフェース ActionSourcesetActionExpression 
      パラメーター:
      actionExpression - 新しいメソッド式
    • addActionListener

      public void addActionListener(ActionListener listener)
      インターフェースからコピーされた説明: ActionSource

      新しい ActionListener を、ActionEvent の発生時に通知を受けることに関心のあるリスナーのセットに追加します。

      次で指定:
      インターフェース ActionSourceaddActionListener 
      パラメーター:
      listener - 追加する ActionListener
      例外:
      NullPointerExceptionSE - listener が null の場合
    • getActionListeners

      public ActionListener[] getActionListeners()
      インターフェースからコピーされた説明: ActionSource

      この ActionSource インスタンスに登録されている ActionListener のセットを返します。登録済みのリスナーがない場合は、長さ 0 の配列が返されます。

      次で指定:
      インターフェース ActionSourcegetActionListeners 
      戻り値:
      アクションリスナー、または長さゼロの配列。
    • removeActionListener

      public void removeActionListener(ActionListener listener)
      インターフェースからコピーされた説明: ActionSource

      ActionEvent の発生時に通知を受けることに関心のあるリスナーのセットから既存の ActionListener(存在する場合)を削除します。

      次で指定:
      インターフェース ActionSourceremoveActionListener 
      パラメーター:
      listener - 削除する ActionListener
      例外:
      NullPointerExceptionSE - listener が null の場合
    • broadcast

      public void broadcast(FacesEvent event) throws AbortProcessingException

      デフォルトの UIComponent.broadcast(jakarta.faces.event.FacesEvent) 処理に加えて、ブロードキャストされている ActionEvent を、actionListener によって参照されるメソッド(存在する場合)、および Application に登録されているデフォルトの ActionListener に渡します。

      オーバーライド:
      クラス UIComponentBasebroadcast 
      パラメーター:
      event - 放送予定の FacesEvent
      例外:
      AbortProcessingException - Jakarta Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知します
      IllegalArgumentExceptionSE - この FacesEvent の実装クラスがこのコンポーネントでサポートされていない場合
      NullPointerExceptionSE - event が null の場合
    • queueEvent

      public void queueEvent(FacesEvent event)

      queueEvent をインターセプトし、次のアクションを実行します。イベントが ActionEvent の場合、イベントから UIComponent インスタンスを取得します。コンポーネントが ActionSource の場合、その "immediate" プロパティの値を取得します。それが true の場合、イベントの phaseId を PhaseId.APPLY_REQUEST_VALUES としてマークし、そうでない場合は、phaseId を PhaseId.INVOKE_APPLICATION としてマークします。このメソッドから戻る前に、イベントを super.queueEvent() に渡す必要があります。

      オーバーライド:
      クラス UIComponentBasequeueEvent 
      パラメーター:
      event - キューに入れられる FacesEvent