public class UIWebsocket extends UIComponentBase implements ClientBehaviorHolder
<f:websocket>
タグは、クライアント側で一方向(サーバーからクライアント)の Websocket ベースのプッシュ接続を開きます。これは、@
Push
アノテーションを介して CDI/ コンテナー管理アーティファクトに注入された PushContext
インターフェースを介してサーバー側から到達できます。
デフォルトでは、rendererType
プロパティを "jakarta.faces.Websocket
" に設定する必要があります。この値は、setRendererType()
メソッドを呼び出すことで変更できます。
詳しい使用方法については、@
Push
javadoc を参照してください。
Push
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | COMPONENT_FAMILY このコンポーネントの標準コンポーネントファミリ。 |
static StringSE | COMPONENT_TYPE このコンポーネントの標準コンポーネント型。 |
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, 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 | 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 | 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 を設定します。 |
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, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
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
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
addClientBehavior, getClientBehaviors, getDefaultEventName
public UIWebsocket()
デフォルトのプロパティ値で新しい UIWebsocket
インスタンスを作成します。
IllegalStateExceptionSE
- Websocket エンドポイントが有効になっていない場合。public StringSE getFamily()
COMPONENT_FAMILY
を返します。
UIComponent
の getFamily
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
の場合。public CollectionSE<StringSE> getEventNames()
すべてのクライアント動作イベント名が受け入れ可能であることを示す、Collection#contains()
呼び出しで true
を返す、null 以外の空の変更不可能な Collection
を返します。
ClientBehaviorHolder
の getEventNames
UIComponentBase
の getEventNames
public StringSE getChannel()
public void setChannel(StringSE channel)
channel
- WebSocket チャネルの名前。IllegalArgumentExceptionSE
- 値が有効なチャネル名を表していない場合。public StringSE getScope()
public void setScope(StringSE scope)
application
、session
、view
であり、大文字と小文字は区別されません。値が application
の場合、アプリケーション全体で同じ名前のすべてのチャネルが同じプッシュメッセージを受信します。値が session
の場合、現在のユーザーセッションで同じ名前のチャネルのみが同じプッシュメッセージを受信します。値が view
の場合、現在のビューのチャネルのみがプッシュメッセージを受信します。デフォルトのスコープは application
です。user
属性が指定されている場合、デフォルトのスコープは session
です。scope
- WebSocket チャネルのスコープ。public SerializableSE getUser()
public void setUser(SerializableSE user)
Serializable
を実装する必要があり、メモリフットプリントが小さいことが望ましい。提案: #{request.remoteUser}
または #{someLoggedInUser.id}
を使用してください。user
- WebSocket チャネルのユーザー ID。public StringSE getOnopen()
public void setOnopen(StringSE onopen)
onopen
- WebSocket が開かれたときに呼び出される JavaScript イベントハンドラー関数。public StringSE getOnmessage()
public void setOnmessage(StringSE onmessage)
onmessage
- サーバーからプッシュメッセージを受信したときに呼び出される JavaScript イベントハンドラー関数。public StringSE getOnclose()
public void setOnclose(StringSE onclose)
CloseEvent
自体の 3 つの引数を使用して呼び出されます。これはエラー時にも呼び出され、エラーが発生したかどうか、エラーが発生した場合(つまり、コードが 1000 でない場合)にクローズ理由コードをインスペクションできることに注意してください。すべてのクローズコードの詳細なリストについては、RFC6455 セクション 7.4.1 および CloseReason.CloseCodes
API も参照してください。onclose
- WebSocket が閉じられたときに呼び出される JavaScript イベントハンドラー関数。public boolean isConnected()
public void setConnected(boolean connected)
true
です。これは、WebSocket プッシュ接続を開くか閉じるかを JavaScript 命令として解釈します。この属性は、ajax リクエストごとに再評価されることに注意してください。明示的に false
に設定してから、OmniFaces.Push.open("channelName")
および OmniFaces.Push.close("channelName")
によって JavaScript を手動で制御することもできます。connected
- WebSocket を(自動)接続するかどうか。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.