| パッケージ | net.user1.reactor |
| クラス | public class UserAccount |
| 継承 | UserAccount flash.events.EventDispatcher |
| バージョン : | Reactor 1.0.0 |
UserAccountクラスはUnionのユーザーアカウントを表します。 各ユーザーアカウントは永続属性内の情報を保存できます。これらはサーバー側のデータベースか他のカスタムデータソースに格納されます。 ユーザーアカウントはAccountManagerクラスのcreateAccount()メソッドで生成されます。 クライアントはAccountManagerクラスのlogin()メソッドを通してユーザーアカウントにログインします。 クライアントがログインするとき、そのClientオブジェクトはUserAccountオブジェクトとリンクされます。 アカウントのイベントとデータにアクセスするには、ClientクラスのgetAccount()メソッドを使用してください。これはUserAccountオブジェクトを返します。
クライアントがアカウントにログインするとき、そのアカウントのグローバル属性は自動的にロードされ、UserAccountのgetAttribute()メソッドを通してただちに利用可能です。 ルームをスコープとしたアカウント属性はログインクライアントがそのルームに入室か観戦を開始するときに自動的にロードされます。
現クライアントが把握しているUserAccountオブジェクトのリストにアクセスするには、AccountManagerクラスのgetAccounts()メソッドを使用してください。
次のコードはユーザーアカウントの生成、ログイン、そして永続アカウント属性をセットする方法の実演です。 Reactorのユーザーアカウントの概要については、AccountManagerクラスを参照してください。
package {
import flash.display.Sprite;
import net.user1.reactor.Reactor;
import net.user1.reactor.ReactorEvent;
public class AccountExample extends Sprite {
protected var reactor:Reactor;
public function AccountExample () {
reactor = new Reactor();
reactor.addEventListener(ReactorEvent.READY, readyListener);
reactor.connect("tryunion.com", 80);
}
protected function readyListener (e:ReactorEvent):void {
// userID "bob" でユーザーアカウントを生成する
reactor.getAccountManager().createAccount("bob", "secretpassword");
// ユーザーがログインするとき通知を受けるように登録する
reactor.getAccountManager().addEventListener(AccountEvent.LOGIN, loginListener);
// 現クライアントを "bob" のユーザーアカウントにログインさせる
reactor.getAccountManager().login("bob", "secretpassword");
}
protected function loginListener (e:AccountEvent):void {
// 現クライアントがログインするとき...
if (e.getAccount().isSelf()) {
// ..."age" という名称の属性をbobのユーザーアカウントにセーブする
e.getAccount().setAttribute("age", "39");
}
}
}
}
関連項目
| メソッド | 定義元 | ||
|---|---|---|---|
UserAccount(userID:String, log:Logger, accountManager:AccountManager, clientManager:ClientManager, roomManager:RoomManager) コンストラクタ | UserAccount | ||
addRole(role:String):void 新たなセキュリティロールをアカウントに追加します。 | UserAccount | ||
changePassword(newPassword:String, oldPassword:String):void このアカウントのパスワードを変更します。 | UserAccount | ||
deleteAttribute(attrName:String, attrScope:String = null):void ユーザーアカウントから属性を削除します。 | UserAccount | ||
getAttribute(attrName:String, attrScope:String = null):String 永続クライアント属性を取得します。 | UserAccount | ||
getAttributes():Object このユーザーアカウントにおける全ての属性を含むオブジェクトを返します。 | UserAccount | ||
getAttributesByScope(scope:String = null):Object 与えられたスコープ、あるいは全てのスコープにおいてこのUserAccountインスタンスに定義されている全ての属性名と値を含むオブジェクトを返します。 | UserAccount | ||
このアカウントのClientオブジェクトへの参照を返します。これはこのアカウントがログインしている場合にのみ利用可能です。 | UserAccount | ||
getConnectionState():int このUserAccountが現在ログインしているかどうかを示します。 | UserAccount | ||
このアカウントに対応するクライアントの内部的なClientオブジェクトを返します。 | UserAccount | ||
getUserID():String このアカウントのユーザーIDを返します。 | UserAccount | ||
isLoggedIn():Boolean このユーザーアカウントの接続状態がConnectionState.LOGGED_INである場合、trueを返します。それ以外の場合はfalseです。 | UserAccount | ||
isModerator():Boolean このアカウントがモデレーター権限を持っているかどうかを示すBoolean値を返します。 | UserAccount | ||
isSelf():Boolean もし現クライアントがこのUserAccountのもとにログインしていればtrueを返します。 | UserAccount | ||
logoff(password:String = null):void このユーザーアカウントをログオフさせます。 | UserAccount | ||
observe():void このUserAccountの状態が変化するときにいつでも現クライアントに通知するようにサーバーに要求します。 | UserAccount | ||
removeRole(userID:String, role:String):void アカウントからセキュリティロールを除去します。 | UserAccount | ||
setAttribute(attrName:String, attrValue:String, attrScope:String = null, isShared:Boolean = true, evaluate:Boolean = false):void このユーザーアカウントのもとでサーバー上に永続的に格納されるアカウント属性を割り当てます。 | UserAccount | ||
stopObserving():void このUserAccountの観察を停止するようにサーバーに要求します。 | UserAccount | ||
toString():String [オーバーライド] このオブジェクトのString表現を提供します。 | UserAccount | ||
| Event | Summary | 定義元 | ||
|---|---|---|---|---|
| 先に行われた UserAccount.addRole() か AccountManager.addRole() 要求の結果を受信したときに送出されます。 | UserAccount | |||
| 現クライアントがアカウントのパスワードを変更するときに送出されます。 | UserAccount | |||
| 現クライアントが先に行われたユーザーアカウントのパスワード変更要求の結果を受信するときに送出されます。 | UserAccount | |||
| 現クライアントによって把握されているクライアントのいずれかがログインするときに送出されます。 | UserAccount | |||
| 現クライアントによって把握されているユーザーアカウントのいずれかがログオフするときに送出されます。 | UserAccount | |||
| 現クライアントが先に行われたクライアントのログオフ要求の結果を受信するときに送出されます。 | UserAccount | |||
| 現クライアントがユーザーアカウントを観察するときに送出されます。 | UserAccount | |||
| 先に行われたUserAccount.observe()かAccountManager.observeAccount()要求の結果を受信したときに送出されます。 | UserAccount | |||
| 先に行われた UserAccount.removeRole() か AccountManager.removeRole() 要求の結果を受信したときに送出されます。 | UserAccount | |||
| 現クライアントがユーザーアカウントの観察を停止するときに送出されます。 | UserAccount | |||
| 先に行われたUserAccount.stopObserving()かAccountManager.stopObservingAccount()要求の結果を受信したときに送出されます。 | UserAccount | |||
| ユーザーアカウントが同期してサーバー状態と一致したときに送出されます。 | UserAccount | |||
| UserAccount | () | コンストラクタ |
public function UserAccount(userID:String, log:Logger, accountManager:AccountManager, clientManager:ClientManager, roomManager:RoomManager)コンストラクタ 開発者はUserAccountのコンストラクタを直接呼び出す必要はありません。 Reactorはクライアントがログインするときに自動的にUserAccountオブジェクトを生成します。
パラメータuserID:String | |
log:Logger | |
accountManager:AccountManager | |
clientManager:ClientManager | |
roomManager:RoomManager |
| addRole | () | メソッド |
public function addRole(role:String):void| バージョン : | Reactor 1.0.0 |
新たなセキュリティロールをアカウントに追加します。
パラメータ
role:String — 新たに希望するロール(役割)です。 ビルトインのセキュリティロールの一覧については、SecurityRole クラスを参照してください。 |
関連項目
| changePassword | () | メソッド |
public function changePassword(newPassword:String, oldPassword:String):void| バージョン : | Reactor 1.0.0 |
このアカウントのパスワードを変更します。
パラメータ
newPassword:String — 希望する新しいアカウントパスワードです。 nullではあってはいけません。 | |
oldPassword:String — 現在のアカウントのパスワードです。 passwordが渡されない場合、そのパスワードは変更を要求中のクライアントが十分な特権を有している場合にのみ変更されます。 |
関連項目
| deleteAttribute | () | メソッド |
public function deleteAttribute(attrName:String, attrScope:String = null):void| バージョン : | Reactor 1.0.0 |
ユーザーアカウントから属性を削除します。 属性の削除についての一般的な詳細については、ClientクラスのdeleteAttribtue()メソッドを参照してください。
パラメータ
attrName:String | |
attrScope:String (default = null) |
関連項目
| getAttribute | () | メソッド |
public function getAttribute(attrName:String, attrScope:String = null):String| バージョン : | Reactor 1.0.0 |
永続クライアント属性を取得します。 このUserAccountの永続属性はこのUserAccountがサーバーの状態と同期しているときにのみ利用可能です。 アカウントに同期するには、現クライアントは次のいずれかを実行する必要があります:
パラメータ
attrName:String | |
attrScope:String (default = null) |
String |
関連項目
| getAttributes | () | メソッド |
public function getAttributes():Object| バージョン : | Reactor 1.0.0 |
このユーザーアカウントにおける全ての属性を含むオブジェクトを返します。 このオブジェクトの構造は、類似のClientメソッドであるgetAttributes()のものと一致します。 詳細はobserveRoom()メソッドを参照してください。
戻り値Object |
関連項目
| getAttributesByScope | () | メソッド |
public function getAttributesByScope(scope:String = null):Object| バージョン : | Reactor 1.0.0 |
与えられたスコープ、あるいは全てのスコープにおいてこのUserAccountインスタンスに定義されている全ての属性名と値を含むオブジェクトを返します。 このオブジェクトの構造は、類似のClientメソッドであるgetAttributesByScope()のものと一致します。 詳細はobserveRoom()メソッドを参照してください。
パラメータ
scope:String (default = null) |
Object |
関連項目
| getClient | () | メソッド |
public function getClient():IClient| バージョン : | Reactor 1.0.0 |
このアカウントのClientオブジェクトへの参照を返します。これはこのアカウントがログインしている場合にのみ利用可能です。
戻り値IClient |
関連項目
| getConnectionState | () | メソッド |
public function getConnectionState():int| バージョン : | Reactor 1.0.0 |
このUserAccountが現在ログインしているかどうかを示します。
戻り値int — 次の三つの定数のいずれか一つに対応するint値です: ConnectionState.LOGGED_IN, ConnectionState.NOT_CONNECTED, またはConnectionState.UNKNOWN。 |
| getInternalClient | () | メソッド |
public function getInternalClient():Client| バージョン : | Reactor 1.0.0 |
このアカウントに対応するクライアントの内部的なClientオブジェクトを返します。 このメソッドはアプリケーションが自作のクライアントクラスをもつクライアントの構成されたClientオブジェクトにアクセスしたいときに必要です。 詳細については、ClientManagerクラスのgetInternalClient()メソッドを参照してください。
戻り値Client |
関連項目
| getUserID | () | メソッド |
public function getUserID():String| バージョン : | Reactor 1.0.0 |
このアカウントのユーザーIDを返します。
戻り値String |
関連項目
| isLoggedIn | () | メソッド |
public function isLoggedIn():Boolean| バージョン : | Reactor 1.0.0 |
このユーザーアカウントの接続状態がConnectionState.LOGGED_INである場合、trueを返します。それ以外の場合はfalseです。
戻り値Boolean |
| isModerator | () | メソッド |
public function isModerator():Boolean| バージョン : | Reactor 1.0.0 |
このアカウントがモデレーター権限を持っているかどうかを示すBoolean値を返します。 アカウントにモデレーター権限を割り当てるには、addRole() を使用してください。
戻り値Boolean — このアカウントがモデレーター権限を持っていれば true で、そうでない場合は false です。 |
関連項目
| isSelf | () | メソッド |
public function isSelf():Boolean| バージョン : | Reactor 1.0.0 |
もし現クライアントがこのUserAccountのもとにログインしていればtrueを返します。
戻り値Boolean |
関連項目
| logoff | () | メソッド |
public function logoff(password:String = null):void| バージョン : | Reactor 1.0.0 |
このユーザーアカウントをログオフさせます。 この試行の結果はAccountEvent.LOGOFF_RESULTイベントを通して返されます。 もしその試行が成功すると、そのUserAccountオブジェクトはAccountEvent.LOGOFFイベントをトリガーし、対応するクライアントは自動的にUnionサーバーから切断されます。
パラメータ
password:String (default = null) — このアカウントのパスワードです。 passwordが渡されない場合、そのアカウントはログオフ要求中のクライアントが十分な特権を有している場合にのみログオフされます。 |
関連項目
| observe | () | メソッド |
public function observe():void| バージョン : | Reactor 1.0.0 |
このUserAccountの状態が変化するときにいつでも現クライアントに通知するようにサーバーに要求します。 完全な詳細については、AccountManagerのobserveAccount()メソッドを参照してください。
関連項目
| removeRole | () | メソッド |
public function removeRole(userID:String, role:String):void| バージョン : | Reactor 1.0.0 |
アカウントからセキュリティロールを除去します。
パラメータ
userID:String — 新たに希望するロール(役割)です。 ビルトインのセキュリティロールの一覧については、SecurityRole クラスを参照してください。 | |
role:String |
関連項目
| setAttribute | () | メソッド |
public function setAttribute(attrName:String, attrValue:String, attrScope:String = null, isShared:Boolean = true, evaluate:Boolean = false):void| バージョン : | Reactor 1.0.0 |
このユーザーアカウントのもとでサーバー上に永続的に格納されるアカウント属性を割り当てます。
ログインしたクライアントの属性名はそのアカウントの属性名と競合しない点に留意してください。 例えば、クライアントは"score"属性を自身や自身のユーザーアカウントにも定義したりするでしょう。 二つの属性は別々のものとみなされます。すなわち各々が各自の値を持てます。
属性の割当についての一般的な詳細については、ClientクラスのsetAttribute()メソッドを参照してください。
パラメータ
attrName:String | |
attrValue:String | |
attrScope:String (default = null) | |
isShared:Boolean (default = true) | |
evaluate:Boolean (default = false) |
関連項目
| stopObserving | () | メソッド |
public function stopObserving():void| バージョン : | Reactor 1.0.0 |
このUserAccountの観察を停止するようにサーバーに要求します。 結果的に、サーバーはUserAccountの状態が変化する時にもう通知を送信しません。
stopObserving()呼び出しの結果はAccountEvent.STOP_OBSERVING_RESULTイベントを通して返されます。 もしその呼び出しが成功すると、AccountEvent.STOP_OBSERVINGイベントもトリガーされます。
関連項目
| toString | () | メソッド |
override public function toString():String| バージョン : | Reactor 1.0.0 |
このオブジェクトのString表現を提供します。
戻り値String |
| ADD_ROLE_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.ADD_ROLE_RESULT先に行われた UserAccount.addRole() か AccountManager.addRole() 要求の結果を受信したときに送出されます。
関連項目
| CHANGE_PASSWORD | イベント |
AccountEventnet.user1.reactor.AccountEvent.CHANGE_PASSWORD
現クライアントがアカウントのパスワードを変更するときに送出されます。 ユーザーはAccountManagerのchangePassword()メソッドかUserAccountオブジェクトのchangePassword()メソッドを通して自分自身のパスワードを変更できます。 十分な権限があれば、現クライアントは他ユーザーのパスワードを変更できます。 サーバーサイドのコードは任意のユーザーのパスワードを変更できます。
関連項目
| CHANGE_PASSWORD_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.CHANGE_PASSWORD_RESULT現クライアントが先に行われたユーザーアカウントのパスワード変更要求の結果を受信するときに送出されます。 パスワード変更要求の結果を調べるには、getStatus()を使用してください。このメソッドの戻り値は次のどれかになります:
関連項目
| LOGIN | イベント |
AccountEventnet.user1.reactor.AccountEvent.LOGIN
現クライアントによって把握されているクライアントのいずれかがログインするときに送出されます。 クライアントが現クライアントによって把握される状況のリストについては、ClientManagerのclientIsKnown()メソッドを参照してください。 しかしながら、RoomクラスのsetUpdateLevels()メソッドを通して"入室者ログインログオフ更新"と"観戦者ログインログオフ更新"を無効化することで、現クライアントがルーム入室者とルーム観戦者のログイン通知を受けないようにもできる点に留意してください。
AccountEvent.LOGINイベントはログインしたクライアントのClientオブジェクトを通して送出され、次にログインしたアカウントのUserAccountオブジェクト、次にAccountManagerからも送出されます。
関連項目
| LOGOFF | イベント |
AccountEventnet.user1.reactor.AccountEvent.LOGOFF
現クライアントによって把握されているユーザーアカウントのいずれかがログオフするときに送出されます。 クライアントが現クライアントによって把握される状況のリストについては、ClientManagerのclientIsKnown()メソッドを参照してください。 しかしながら、RoomクラスのsetUpdateLevels()メソッドを通して"入室者ログインログオフ更新"と"観戦者ログインログオフ更新"を無効化することで、現クライアントがルーム入室者とルーム観戦者のログオフ通知を受けないようにもできる点に留意してください。
AccountEvent.LOGOFFイベントはログオフしたクライアントのClientオブジェクトを通して送出され、次にログオフしたアカウントのUserAccountオブジェクト、次にAccountManagerからも送出されます。
関連項目
| LOGOFF_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.LOGOFF_RESULT現クライアントが先に行われたクライアントのログオフ要求の結果を受信するときに送出されます。 ログオフ要求の結果を調べるには、getStatus()を使用してください。このメソッドの戻り値は次のどれかになります。
関連項目
| OBSERVE | イベント |
AccountEventnet.user1.reactor.AccountEvent.OBSERVE現クライアントがユーザーアカウントを観察するときに送出されます。 完全な詳細については、AccountManagerのobserveAccount()メソッドを参照してください。
関連項目
| OBSERVE_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.OBSERVE_RESULT先に行われたUserAccount.observe()かAccountManager.observeAccount()要求の結果を受信したときに送出されます。
関連項目
| REMOVE_ROLE_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.REMOVE_ROLE_RESULT先に行われた UserAccount.removeRole() か AccountManager.removeRole() 要求の結果を受信したときに送出されます。
関連項目
| STOP_OBSERVING | イベント |
AccountEventnet.user1.reactor.AccountEvent.STOP_OBSERVING現クライアントがユーザーアカウントの観察を停止するときに送出されます。
関連項目
| STOP_OBSERVING_RESULT | イベント |
AccountEventnet.user1.reactor.AccountEvent.STOP_OBSERVING_RESULT先に行われたUserAccount.stopObserving()かAccountManager.stopObservingAccount()要求の結果を受信したときに送出されます。
関連項目
| SYNCHRONIZE | イベント |
AccountEventnet.user1.reactor.AccountEvent.SYNCHRONIZEユーザーアカウントが同期してサーバー状態と一致したときに送出されます。
関連項目