public class UIWebsocket extends UIComponentBase implements ClientBehaviorHolder
<f:websocket> タグは、クライアント側で一方向(サーバーからクライアント)の Websocket ベースのプッシュ接続を開きます。これは、@Push アノテーションを介して CDI/ コンテナー管理アーティファクトに注入された PushContext インターフェースを介してサーバー側から到達できます。
デフォルトでは、rendererType プロパティを "javax.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, unsubscribeFromEventencodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTreecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEaddClientBehavior, getClientBehaviors, getDefaultEventNamepublic 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 © 2019 Eclipse Foundation.
Use is subject to license terms.