パッケージ jakarta.faces.component
クラス UIWebsocket
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIWebsocket
- 実装されたすべてのインターフェース:
ClientBehaviorHolder
、PartialStateHolder
、StateHolder
、TransientStateHolder
、ComponentSystemEventListener
、FacesListener
、SystemEventListenerHolder
、EventListenerSE
public class UIWebsocket extends UIComponentBase implements ClientBehaviorHolder
<f:websocket>
タグは、クライアント側で一方向(サーバーからクライアント)の Websocket ベースのプッシュ接続を開きます。これは、@
Push
アノテーションを介して CDI/ コンテナー管理アーティファクトに注入されたPushContext
インターフェースを介してサーバー側から到達できます。デフォルトでは、
rendererType
プロパティを "jakarta.faces.Websocket
" に設定する必要があります。この値は、setRendererType()
メソッドを呼び出すことで変更できます。詳しい使用方法については、
@
Push
javadoc を参照してください。- 導入:
- 2.3
- 関連事項:
Push
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。static StringSE
COMPONENT_TYPE
このコンポーネントの標準コンポーネント型。クラス jakarta.faces.component.UIComponent から継承されたフィールド
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
コンストラクターのサマリー
コンストラクター コンストラクター 説明 UIWebsocket()
デフォルトのプロパティ値で新しいUIWebsocket
インスタンスを作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSE
getChannel()
WebSocket チャネルの名前を返します。CollectionSE<StringSE>
getEventNames()
すべてのクライアント動作イベント名が受け入れ可能であることを示す、Collection#contains()
呼び出しでtrue
を返す、null 以外の空の変更不可能なCollection
を返します。StringSE
getFamily()
COMPONENT_FAMILY
を返します。StringSE
getOnclose()
Websocket が閉じられたときに呼び出され、再接続を試行しない JavaScript イベントハンドラー関数を返します。StringSE
getOnerror()
接続エラーが発生し、websocket が再接続を試みるときに呼び出される JavaScript イベントハンドラー関数を返します。StringSE
getOnmessage()
サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数を返します。StringSE
getOnopen()
WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数を返します。StringSE
getScope()
WebSocket チャネルのスコープを返します。SerializableSE
getUser()
WebSocket チャネルのユーザー ID を返します。boolean
isConnected()
WebSocket を(自動)接続するかどうかを返します。void
setChannel(StringSE channel)
WebSocket チャネルの名前を設定します。void
setConnected(boolean connected)
WebSocket を(自動)接続するかどうかを設定します。void
setOnclose(StringSE onclose)
Websocket が閉じられたときに呼び出され、再接続を試行しない JavaScript イベントハンドラー関数を設定します。void
setOnerror(StringSE onerror)
接続エラーが発生し、websocket が再接続を試みるときに呼び出される JavaScript イベントハンドラー関数を設定します。void
setOnmessage(StringSE onmessage)
サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数を設定します。void
setOnopen(StringSE onopen)
WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数を設定します。void
setScope(StringSE scope)
WebSocket チャネルのスコープを設定します。void
setUser(SerializableSE user)
ユーザーをターゲットにしたプッシュメッセージを送信できるように、websocket チャネルのユーザー識別子を設定します。void
setValueExpression(StringSE name, ValueExpression binding)
指定された属性またはプロパティ名がある場合は、その値の計算に使用されるValueExpression
を設定します。クラス jakarta.faces.component.UIComponentBase から継承されたメソッド
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent
クラス jakarta.faces.component.UIComponent から継承されたメソッド
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTree
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース jakarta.faces.component.behavior.ClientBehaviorHolder から継承されたメソッド
addClientBehavior, getClientBehaviors, getDefaultEventName
コンストラクターの詳細
UIWebsocket
public UIWebsocket()
デフォルトのプロパティ値で新しい
UIWebsocket
インスタンスを作成します。- 例外:
IllegalStateExceptionSE
- Websocket エンドポイントが有効になっていない場合。
メソッドの詳細
getFamily
public StringSE getFamily()
COMPONENT_FAMILY
を返します。- 次で指定:
- クラス
UIComponent
のgetFamily
- 戻り値:
- コンポーネントファミリ(null 以外)。
setValueExpression
public void setValueExpression(StringSE name, ValueExpression binding)
指定された属性またはプロパティ名がある場合は、その値の計算に使用される
ValueExpression
を設定します。channel
またはscope
プロパティにValueExpression
が設定されている場合、値に関係なく、不正な引数の例外がスローされます。user
プロパティにValueExpression
が設定されていて、null 以外の値がSerializable
のインスタンスでない場合は、不正な引数例外をスローします。- オーバーライド:
- クラス
UIComponent
のsetValueExpression
- パラメーター:
name
-ValueExpression
を設定する属性またはプロパティの名前binding
- 設定するValueExpression
、または現在設定されているValueExpression
を削除するnull
- 例外:
IllegalArgumentExceptionSE
-name
がid
、parent
、channel
またはscope
のいずれかである場合、またはname
がuser
であり、null 以外の値がSerializable
のインスタンスではない場合。NullPointerExceptionSE
-name
がnull
の場合。
getEventNames
public CollectionSE<StringSE> getEventNames()
すべてのクライアント動作イベント名が受け入れ可能であることを示す、
Collection#contains()
呼び出しでtrue
を返す、null 以外の空の変更不可能なCollection
を返します。- 次で指定:
- インターフェース
ClientBehaviorHolder
のgetEventNames
- オーバーライド:
- クラス
UIComponentBase
のgetEventNames
- 戻り値:
- イベント名のコレクション。
getChannel
public StringSE getChannel()
WebSocket チャネルの名前を返します。- 戻り値:
- WebSocket チャネルの名前。
setChannel
public void setChannel(StringSE channel)
WebSocket チャネルの名前を設定します。これは Jakarta Expression Language 式ではなく、英数字、ハイフン、アンダースコア、ピリオドのみを含むことができます。同じチャネルで開いているすべての WebSocket は、サーバーから同じプッシュメッセージを受信します。- パラメーター:
channel
- WebSocket チャネルの名前。- 例外:
IllegalArgumentExceptionSE
- 値が有効なチャネル名を表していない場合。
getScope
public StringSE getScope()
WebSocket チャネルのスコープを返します。- 戻り値:
- WebSocket チャネルのスコープ。
setScope
public void setScope(StringSE scope)
WebSocket チャネルのスコープを設定します。Jakarta Expression Language 式ではない可能性があり、許可される値はapplication
、session
、view
であり、大文字と小文字は区別されません。値がapplication
の場合、アプリケーション全体で同じ名前のすべてのチャネルが同じプッシュメッセージを受信します。値がsession
の場合、現在のユーザーセッションで同じ名前のチャネルのみが同じプッシュメッセージを受信します。値がview
の場合、現在のビューのチャネルのみがプッシュメッセージを受信します。デフォルトのスコープはapplication
です。user
属性が指定されている場合、デフォルトのスコープはsession
です。- パラメーター:
scope
- WebSocket チャネルのスコープ。
getUser
public SerializableSE getUser()
WebSocket チャネルのユーザー ID を返します。- 戻り値:
- WebSocket チャネルのユーザー ID。
setUser
public void setUser(SerializableSE user)
WebSocket チャネルのユーザー識別子を設定して、ユーザーをターゲットとしたプッシュメッセージを送信できるようにします。同じチャネルとユーザーで開いているすべての WebSocket は、サーバーから同じプッシュメッセージを受信します。Serializable
を実装する必要があり、メモリフットプリントが小さいことが望ましい。提案:#{request.remoteUser}
または#{someLoggedInUser.id}
を使用してください。- パラメーター:
user
- WebSocket チャネルのユーザー ID。
getOnopen
public StringSE getOnopen()
WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数を返します。- 戻り値:
- WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数。
setOnopen
public void setOnopen(StringSE onopen)
WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数を設定します。この関数は、チャネル名という 1 つの引数で呼び出されます。- パラメーター:
onopen
- WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数。
getOnmessage
public StringSE getOnmessage()
サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数を返します。- 戻り値:
- サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数。
setOnmessage
public void setOnmessage(StringSE onmessage)
サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数を設定します。この関数は、プッシュメッセージ、チャネル名、生の MessageEvent 自体の 3 つの引数で呼び出されます。- パラメーター:
onmessage
- サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数。
getOnerror
public StringSE getOnerror()
接続エラーが発生し、websocket が再接続を試みるときに呼び出される JavaScript イベントハンドラー関数を返します。- 戻り値:
- 接続エラーが発生し、websocket が再接続を試みるときに呼び出される JavaScript イベントハンドラー関数。
- 導入:
- 4.0
setOnerror
public void setOnerror(StringSE onerror)
接続エラーが発生し、websocket が再接続を試みるときに呼び出される JavaScript イベントハンドラー関数を設定します。この関数は、エラー理由コード、チャネル名、生のCloseEvent
自体の 3 つの引数で呼び出されます。これは、websocket の最終クローズがエラーによって引き起こされた場合でも、呼び出されないことに注意してください。すべての終了コードの詳細なリストについては、RFC6455 セクション 7.4.1 およびCloseReason.CloseCodes
API も参照してください。- パラメーター:
onerror
- 再接続エラーが発生したときに呼び出される JavaScript イベントハンドラー関数。- 導入:
- 4.0
getOnclose
public StringSE getOnclose()
Websocket が閉じられたときに呼び出され、再接続を試行しない JavaScript イベントハンドラー関数を返します。- 戻り値:
- Websocket が閉じられたときに呼び出され、再接続を試行しない JavaScript イベントハンドラー関数。
setOnclose
public void setOnclose(StringSE onclose)
Websocket が閉じられたときに呼び出され、再接続を試行しない JavaScript イベントハンドラー関数を設定します。この関数は、クローズ理由コード、チャネル名、生のCloseEvent
自体の 3 つの引数で呼び出されます。これは、クローズがエラーによって引き起こされた場合にも呼び出されることに注意してください。また、実際の接続エラーが発生した場合は、クローズの理由コードと、どのエラーが発生したか (つまり、コードが 1000 または 1008 ではない場合) を調べることができます。すべての終了コードの詳細なリストについては、RFC6455 セクション 7.4.1 およびCloseReason.CloseCodes
API も参照してください。- パラメーター:
onclose
- WebSocket が閉じられたときに呼び出される JavaScript イベントハンドラー関数。
isConnected
public boolean isConnected()
WebSocket を(自動)接続するかどうかを返します。- 戻り値:
- WebSocket を(自動)接続するかどうか。
setConnected
public void setConnected(boolean connected)
WebSocket を (自動) 接続するかどうかを設定します。デフォルトはtrue
です。Websocket プッシュ接続を開くか閉じるかは、JavaScript 命令として解釈されます。この属性は、すべての ajax リクエストで再評価されることに注意してください。明示的にfalse
に設定してから、faces.push.open("channelName")
およびfaces.push.close("channelName")
で JavaScript を手動で制御することもできます。- パラメーター:
connected
- WebSocket を(自動)接続するかどうか。