jp.wda.gpss
クラス XMLCommandSocklet

java.lang.Object
  |
  +--jp.wda.gpss.GeneralSocklet
        |
        +--jp.wda.gpss.CommandSocklet
              |
              +--jp.wda.gpss.XMLCommandSocklet
すべての実装インタフェース:
AttributeContainer, InitParamContainer, java.io.Serializable, Socklet

public abstract class XMLCommandSocklet
extends CommandSocklet

[ OProject GPSS for FlashMX ] FlashMX用汎用ソケットサーバ
XMLコマンド実行Socklet基底クラス

このSockletクラスはクライアントから送られてきたメッセージをXML文字列として解析し、 そのルートノード名をメソッド名として解釈します。
ルートノード名がXXXXなら、
cmdXXXX(SocketProcessor, SimpleXMLCreator, Object)
メソッドを実行します。
コマンド解析前に、preProcess(SocketProcessor client, String command)メソッドが実行されますので、 全てのメソッドに共通のルーチンはこのメソッドをオーバーライドすると便利です。
また、このメソッドの戻り値が、cmdXXXXメソッドの3番目の引数として渡されます。
オーバーライドしない場合は、常にnullが設定されます。

例えば、クライアントから"<Notify message="Test"></Notify>"と言うメッセージが送られてきた場合、 次のようなメソッドが実行されます。
cmdNotify(client, SimpleXMLCreatorオブジェクト, preprocessed)

指定されたコマンドのメソッドが定義されていない場合は、
cmdUndefined(SocketProcessor client, String command, Object[] params)
メソッドが呼ばれます。 paramsは、cmdXXXXメソッドへ渡す予定だった引数の配列です。
※上記例の場合なら、new Object[]{ client, SimpleXMLCreatorオブジェクト, preprocessed }になります。
未定義コマンドの処理を行なう場合は、このメソッドをオーバーライドしてください。

通常、コマンドの文字列は大文字小文字を区別せず、頭の1文字を大文字、それ以降を小文字として解釈しますが、 execIgnoreCase(SocketProcessor client)メソッドをオーバーライドし、 このメソッドの戻り値を偽にすると、大文字小文字を変更せずにメソッドを検索します。

コマンドリフレクションメソッドの戻り値は "true" / "false"の文字列型でもかまいませんし、int型でも構いませんが、 できるだけbooleanを返してください。
int型を返した場合は、0なら偽、それ以外なら真と解釈します。

導入されたバージョン:
1.00α008 2003/06/14
バージョン:
1.00α008 2003/06/14
作成者:
amoi
関連項目:
GeneralSocklet, 直列化された形式

フィールドの概要
static java.lang.Class[] clazz
          コマンドリフレクションメソッドの引数タイプ
 
コンストラクタの概要
XMLCommandSocklet()
           
 
クラス jp.wda.gpss.CommandSocklet から継承したメソッド
cmdUndefined, doCommand, execIgnoreCase, preProcess
 
クラス jp.wda.gpss.GeneralSocklet から継承したメソッド
addClient, afterDeployedLinks, allowAccessFromOtherSocklet, checkConnection, containsAttributeKey, containsClient, copyInfo, countClients, deployedBy, deployedBy, destroy, disconnectAllClients, getAllClients, getAttribute, getAttributeBoolean, getAttributeDouble, getAttributeInt, getAttributeKeys, getAttributeLong, getAttributes, getClients, getClients, getInitParam, getInitParamKeys, getInitParams, getInitParams, getMain, getName, getOtherSocklet, getTimeout, hasInitParam, init, log, log, log, log, memo, memo, memo, memo, preCreateFinder, preRemoveClient, removeAttribute, removeClient, sendToAllClients, sendToClients, sendToClients, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setMain, setTimeout
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

clazz

public static final java.lang.Class[] clazz
コマンドリフレクションメソッドの引数タイプ

コンストラクタの詳細

XMLCommandSocklet

public XMLCommandSocklet()