jp.wda.gpss
クラス GeneralSocklet

java.lang.Object
  |
  +--jp.wda.gpss.GeneralSocklet
すべての実装インタフェース:
AttributeContainer, InitParamContainer, java.io.Serializable, Socklet
直系の既知のサブクラス:
CommandSocklet, DefaultSocklet, ScriptSocklet

public abstract class GeneralSocklet
extends java.lang.Object
implements Socklet, InitParamContainer, AttributeContainer

[ OProject GPSS for FlashMX ] FlashMX用汎用ソケットサーバ
最も基本的なSocklet基底クラス

Sockletを作成するには、このクラスから派生させるのが、最も基本的な方法です。
このクラスから派生して作成するSockletクラスでは、 まずSockletの初期化ルーチンを記述するために、以下のメソッドのどちらか一つをオーバーライドしてください。 初期化の必要が無ければ、オーバーライドする必要はありません。

protected void init()
protected void init(List linkedSocklets)
次にjp.wda.gpss.Sockletインターフェースの、以下のメソッドを必ずオーバーライドする必要があります。
public boolean doCommand(SocketProcessor client, String command)

また、必要であれば、任意で以下のメソッドをオーバーライドできます。
public boolean checkConnection(SocketProcessor client)
public void preRemoveClient(SocketProcessor client)
public void afterDeployedLinks(Map linkedSocklets)
public void destroy()
各メソッドについては、jp.wda.gpss.Sockletのドキュメントを参照してください。
また、Socklet間連携を行ないたい場合は、
public boolean allowAccessFromOtherSocklet(Socklet from)
メソッドをオーバーライドし、連携しようとしてきたSockletを検査してください。

導入されたバージョン:
1.00α007 2003/05/10
バージョン:
1.00β007 2003/06/08
作成者:
amoi
関連項目:
直列化された形式

フィールドの概要
protected  Progress progress
          ソケット処理状況進捗管理オブジェクト
 
コンストラクタの概要
GeneralSocklet()
           
 
メソッドの概要
 void addClient(SocketProcessor client)
          指定したクライアントを、このSockletの接続中クライアント一覧に追加します。
 void afterDeployedLinks(java.util.Map linkedSocklets)
          このメソッドはinit(SockletDeployInfo info, List links, Progress progress)にて、 linksオブジェクトに設定された追加配備Sockletを配備し終えた後、サーバにより起動時に1回だけ呼ばれます。
 boolean allowAccessFromOtherSocklet(Socklet from)
          他のSockletからのアクセスを許可するかどうかを確認します。
 boolean checkConnection(SocketProcessor client)
          接続用初期コマンド受信後、クライアントの検査を行うためのメソッド。
 boolean containsAttributeKey(java.lang.Object key)
          指定された属性名のSocklet固有属性が設定されているかを確認します。
 boolean containsClient(SocketProcessor client)
          指定したクライアントが、現在このSockletの接続中クライアント一覧に存在するか確認します。
 SockletDeployInfo copyInfo(java.lang.String appname, java.lang.String classname)
          このSocklet配備情報を複製した、指定された配備名を持つ新しいSocklet配備情報オブジェクトを作成します。
 int countClients()
          現在接続中のクライアント数を数えます。
 java.lang.String deployedBy()
          このSockletを配備したSocklet名を取得します。
 void deployedBy(ExecutableBase server, java.lang.String name)
          このSockletを配備したSocklet名を設定します。
 void destroy()
          Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
 void disconnectAllClients(java.lang.String message)
          このSockletに接続中の全クライアントを切断します。
 java.util.List getAllClients()
          このSockletに接続中の全てのクライアント一覧を、リストとして取得します。
 java.lang.Object getAttribute(java.lang.Object key)
          このSockletに設定されている、指定された名前のSocklet固有属性値を取得します。
 boolean getAttributeBoolean(java.lang.Object key)
          このSockletに設定されている、指定された名前のSocklet固有属性値を真偽値として取得します。
 double getAttributeDouble(java.lang.Object key)
          このSockletに設定されている、指定された名前の固有属性値を実数値として取得します。
 int getAttributeInt(java.lang.Object key)
          このSockletに設定されている、指定された名前のSocklet固有属性値を整数値として取得します。
 java.util.Set getAttributeKeys()
          Socklet固有属性に格納されている属性名一覧のSetビューを取得します。
 long getAttributeLong(java.lang.Object key)
          このSockletに設定されている、指定された名前のSocklet固有属性値を長整数値として取得します。
 java.util.Set getAttributes()
          Socklet固有属性に格納されている全ての属性一覧のSetビューを取得します。
 java.util.List getClients(Finder finder)
          このSockletに接続中のクライアント一覧のうち、 指定された条件を有するクライアントを一覧を、リストとして取得します。
 java.util.List getClients(java.lang.String condition)
          このSockletに接続中のクライアント一覧のうち、 指定された条件を有するクライアントを一覧を、リストとして取得します。
 java.lang.String getInitParam(java.lang.String key)
          このSockletに設定されている、指定された名前のSocklet初期化パラメータ値を1つ取得します。
 java.util.List getInitParamKeys()
          このSockletに設定されている、すべてのSocklet初期化パラメータの名前一覧をリストとして取得します。
 java.util.List getInitParams()
          このSockletに設定されている、すべてのSocklet初期化パラメータ値一覧をリストとして取得します。
 java.util.List getInitParams(java.lang.String key)
          このSockletに設定されている、指定された名前のSocklet初期化パラメータ値一覧をリストとして取得します。
 ExecutableBase getMain()
          推奨されていません。  
 java.lang.String getName()
          このSockletの配備名を取得します。
 Socklet getOtherSocklet(java.lang.String appname)
          Socklet配備名を指定して、現在このサーバに配備されている、別のSockletを取得します。
 int getTimeout()
          クライアントからのコマンド待受けタイムアウト時間(ミリ秒単位)を取得します。
 boolean hasInitParam(java.lang.String key)
          指定された初期化パラメタ名の値が設定されているかを確認します。
protected  void init()
          Sockletを初期化するためのメソッド。
protected  void init(java.util.List links)
          Sockletを初期化するためのメソッド。
 void init(SockletDeployInfo info, java.util.List links, Progress progress)
          このSockletを初期化します。
 void log(java.lang.Object message)
          Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 情報ログを出力します。
 void log(java.lang.Object message, org.apache.log4j.Priority priority)
          Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 指定された種類のログを出力します。
 void log(java.lang.Object message, org.apache.log4j.Priority priority, java.lang.Throwable throwable)
          Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 指定された種類のログを出力します。
 void log(java.lang.Object message, java.lang.Throwable throwable)
          Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 エラーログを出力します。
 void memo(java.lang.String logger, java.lang.Object message)
          指定されたロガー情報名のログファイルに、情報ログを出力します。
 void memo(java.lang.String logger, java.lang.Object message, org.apache.log4j.Priority priority)
          指定されたロガー情報名のログファイルに、指定された種類のログを出力します。
 void memo(java.lang.String logger, java.lang.Object message, org.apache.log4j.Priority priority, java.lang.Throwable t)
          指定されたロガー情報名のログファイルに、指定された種類のログを出力します。
 void memo(java.lang.String logger, java.lang.Object message, java.lang.Throwable t)
          指定されたロガー情報名のログファイルに、エラーログを出力します。
 Finder preCreateFinder(java.lang.String condition)
          クライアント絞込条件指定オブジェクトを構築します。
 void preRemoveClient(SocketProcessor client)
          クライアント削除前に呼び出されるメソッド。
 java.lang.Object removeAttribute(java.lang.Object key)
          指定された属性名のSocklet固有属性を削除します。
 void removeClient(SocketProcessor client)
          指定したクライアントを、このSockletの接続中クライアント一覧から削除します。
 void sendToAllClients(java.lang.String message)
          現在このSockletに接続中の全てのクライアントに向けて、メッセージを送信します。
 void sendToClients(java.lang.String message, Finder finder)
          現在このSockletに接続中のクライアントのうち、特定の条件を有するクライアントのみに向けて、メッセージを送信します。
 void sendToClients(java.lang.String message, java.lang.String condition)
          現在このSockletに接続中のクライアントのうち、特定の条件を有するクライアントのみに向けて、メッセージを送信します。
 void setAttribute(java.lang.Object key, boolean value)
          このSockletに、指定された名前のSocklet固有属性値を真偽値として設定します
 void setAttribute(java.lang.Object key, double value)
          このSockletに、指定された名前の固有属性値を実数値として設定します
 void setAttribute(java.lang.Object key, int value)
          このSockletに、指定された名前のSocklet固有属性値を設定します
 void setAttribute(java.lang.Object key, long value)
          このSockletに、指定された名前のSocklet固有属性値を長整数値として設定します
 void setAttribute(java.lang.Object key, java.lang.Object value)
          このSockletに、指定された名前のSocklet固有属性値を設定します
 void setMain(ExecutableBase server)
          メインサーバを設定します。
 void setTimeout(int timeout)
          クライアントからのコマンド待受けタイムアウト時間(ミリ秒単位)を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース jp.wda.gpss.Socklet から継承したメソッド
doCommand
 

フィールドの詳細

progress

protected Progress progress
ソケット処理状況進捗管理オブジェクト

コンストラクタの詳細

GeneralSocklet

public GeneralSocklet()
メソッドの詳細

getMain

public final ExecutableBase getMain()
推奨されていません。  

メインサーバを取得します。
このメソッドは、α007から廃止され、常にnullを返します。

戻り値:
コマンド解釈エンジン

setMain

public final void setMain(ExecutableBase server)
メインサーバを設定します。

パラメータ:
server - ソケット待受けメインサーバ

deployedBy

public final java.lang.String deployedBy()
このSockletを配備したSocklet名を取得します。
初期設定ファイルの設定で待受けメインサーバによって配備されたSockletでは、 このメソッドの戻り値はExecutableBase.DEPLOY_BY_SYSTEMになります。

定義:
インタフェース Socklet 内の deployedBy
戻り値:
Socklet名
関連項目:
ExecutableBase, Socklet.deployedBy()

deployedBy

public final void deployedBy(ExecutableBase server,
                             java.lang.String name)
このSockletを配備したSocklet名を設定します。
このメソッドは、待受けメインサーバから呼ばれるためのメソッドです。

定義:
インタフェース Socklet 内の deployedBy
戻り値:
Socklet名
関連項目:
Socklet.deployedBy(ExecutableBase, String)

getName

public final java.lang.String getName()
このSockletの配備名を取得します。

Socklet配備名とは、初期設定ファイルで指定され、このSockletクラスがサーバに配備される時につけられる名前です。 初期設定ファイルのノードに記述されたname属性の値になります。
サーバは、クライアントから送られてくる接続用初期コマンドの一番目の引数をSocklet配備名と判断し、 このクライアントが所属したいと望んでいるSockletを検索します。
このメソッドは、サーバが使用するものです。 ほとんどの場合は、Socklet制作者が使う必要はありません。 ただし、連携Socklet追加時の、追加Sockletの配備名を作成する場合などに利用できるかもしれません。

定義:
インタフェース Socklet 内の getName
戻り値:
Socklet名
関連項目:
Socklet.getName()

getTimeout

public final int getTimeout()
クライアントからのコマンド待受けタイムアウト時間(ミリ秒単位)を取得します。

定義:
インタフェース Socklet 内の getTimeout
戻り値:
タイムアウト時間(ミリ秒単位)
関連項目:
Socklet.getTimeout()

setTimeout

public final void setTimeout(int timeout)
クライアントからのコマンド待受けタイムアウト時間(ミリ秒単位)を設定します。
通常のSockletでは、タイムアウト時間の設定は初期設定ファイルで行なえますが、 スクリプトSockletでは初期設定ファイルで設定できないため、 init()内でこのメソッドを使用してタイムアウト時間を設定してください。

定義:
インタフェース Socklet 内の setTimeout
パラメータ:
timeout - 設定するタイムアウト時間(ミリ秒単位)
戻り値:
タイムアウト時間(ミリ秒単位)
関連項目:
Socklet.setTimeout(int)

copyInfo

public SockletDeployInfo copyInfo(java.lang.String appname,
                                  java.lang.String classname)
このSocklet配備情報を複製した、指定された配備名を持つ新しいSocklet配備情報オブジェクトを作成します。
具体的にコピーされる情報は、初期化パラメータ情報のみです。 配備名やクラス名はコピーされませんので、このメソッド中で指定する必要があります。
このメソッドは、連携Socklet追加配備情報作成時に利用できます。 連携Sockletについてはinit(List)メソッドをご覧ください。

パラメータ:
appname - 配備名
戻り値:
新しいSocklet配備情報オブジェクト
関連項目:
init(List)

getOtherSocklet

public final Socklet getOtherSocklet(java.lang.String appname)
Socklet配備名を指定して、現在このサーバに配備されている、別のSockletを取得します。 連携Sockletシステムを構築したい場合などに利用できます。
指定された配備名のSockletが存在しない場合や、 そのSockletにアクセスを拒否された場合は、nullを返します。
Sockletからこのメソッドが呼ばれると、サーバは、クライアントが接続してきた時と同様、 配備名を手がかりに既に配備されているSockletを検索します。 配備名が登録されていない場合や、現在のSockletと同じ配備名を指定した場合は、直ちにnullが返されます。 Sockletが見つかった場合は、サーバは検索されたSockletに、 allowAccessFromOtherSocklet(Socklet from) メソッドを使用して現在のSockletオブジェクトを引き渡し、 現在のSockletからのアクセスを許可するかどうか、検査を要求します。 そのメソッドにて現在のSockletからのアクセスが拒否された場合は、やはり直ちにnullが返されます。
また、 afterDeployedLinks(Map linkedSocklets) メソッドをオーバーライドすることにより、その引数から自動配備Sockletは取得できます。 init(List)で連携Sockletを指定した場合は、getOtherSockletでは無く、 そちらのメソッドを使用してSockletを取得してください。

パラメータ:
appname - Socklet配備名
戻り値:
指定された配備名のSocklet
関連項目:
allowAccessFromOtherSocklet(Socklet), afterDeployedLinks(Map), init(List)

getInitParam

public final java.lang.String getInitParam(java.lang.String key)
このSockletに設定されている、指定された名前のSocklet初期化パラメータ値を1つ取得します。
Socklet初期化パラメータとは、GPSS設定ファイルの<socklet>ノードの子ノード<init-param>に設定された値です。
<init-param>ノードのkey属性がパラメータの名前を、value属性がパラメータの値を表します。
指定された名前のパラメータが複数存在する場合は、一番初めに設定された値を返します。

定義:
インタフェース InitParamContainer 内の getInitParam
パラメータ:
key - 取得したいパラメータの名前
戻り値:
指定された名前の初期化パラメータ値
関連項目:
getInitParams(String key), getInitParams(), InitParamContainer.getInitParam(String)

getInitParams

public final java.util.List getInitParams(java.lang.String key)
このSockletに設定されている、指定された名前のSocklet初期化パラメータ値一覧をリストとして取得します。

定義:
インタフェース InitParamContainer 内の getInitParams
パラメータ:
key - 取得したいパラメータの名前
戻り値:
指定された名前の初期化パラメータ値一覧を保持するList
関連項目:
getInitParam(String key), getInitParams(), InitParamContainer.getInitParam(String)

getInitParams

public java.util.List getInitParams()
このSockletに設定されている、すべてのSocklet初期化パラメータ値一覧をリストとして取得します。

定義:
インタフェース InitParamContainer 内の getInitParams
戻り値:
全てのSocklet初期化パラメータの値一覧を保持するList
関連項目:
getInitParams(String key), getInitParam(String key), InitParamContainer.getInitParams()

getInitParamKeys

public java.util.List getInitParamKeys()
このSockletに設定されている、すべてのSocklet初期化パラメータの名前一覧をリストとして取得します。

定義:
インタフェース InitParamContainer 内の getInitParamKeys
戻り値:
全てのSocklet初期化パラメータの名前一覧を保持するList
関連項目:
InitParamContainer.getInitParamKeys()

hasInitParam

public boolean hasInitParam(java.lang.String key)
指定された初期化パラメタ名の値が設定されているかを確認します。

定義:
インタフェース InitParamContainer 内の hasInitParam
パラメータ:
key - 初期化パラメタ名
戻り値:
指定された名前の初期化パラメータが設定されている場合は真
関連項目:
InitParamContainer.hasInitParam(String)

setAttribute

public final void setAttribute(java.lang.Object key,
                               java.lang.Object value)
このSockletに、指定された名前のSocklet固有属性値を設定します

定義:
インタフェース AttributeContainer 内の setAttribute
パラメータ:
key - Socklet固有属性名
value - Socklet固有属性値
関連項目:
AttributeContainer.setAttribute(Object, Object)

getAttribute

public final java.lang.Object getAttribute(java.lang.Object key)
このSockletに設定されている、指定された名前のSocklet固有属性値を取得します。

定義:
インタフェース AttributeContainer 内の getAttribute
パラメータ:
key - Socklet固有属性名
戻り値:
Socklet固有属性値
関連項目:
AttributeContainer.getAttribute(Object)

getAttributes

public java.util.Set getAttributes()
Socklet固有属性に格納されている全ての属性一覧のSetビューを取得します。

定義:
インタフェース AttributeContainer 内の getAttributes
戻り値:
属性一覧のSetビュー
関連項目:
AttributeContainer.getAttributes()

containsAttributeKey

public boolean containsAttributeKey(java.lang.Object key)
指定された属性名のSocklet固有属性が設定されているかを確認します。

定義:
インタフェース AttributeContainer 内の containsAttributeKey
パラメータ:
key - Socklet固有属性名
戻り値:
指定された属性名が設定されていれば真
関連項目:
AttributeContainer.containsAttributeKey(Object)

getAttributeKeys

public java.util.Set getAttributeKeys()
Socklet固有属性に格納されている属性名一覧のSetビューを取得します。

定義:
インタフェース AttributeContainer 内の getAttributeKeys
戻り値:
属性名一覧のSetビュー
関連項目:
AttributeContainer.getAttributeKeys()

removeAttribute

public java.lang.Object removeAttribute(java.lang.Object key)
指定された属性名のSocklet固有属性を削除します。

定義:
インタフェース AttributeContainer 内の removeAttribute
パラメータ:
key - Socklet固有属性名
関連項目:
AttributeContainer.removeAttribute(Object)

setAttribute

public final void setAttribute(java.lang.Object key,
                               int value)
このSockletに、指定された名前のSocklet固有属性値を設定します

定義:
インタフェース AttributeContainer 内の setAttribute
パラメータ:
key - Socklet固有属性名
value - Socklet固有属性整数値
関連項目:
AttributeContainer.setAttribute(Object, int)

getAttributeInt

public final int getAttributeInt(java.lang.Object key)
                          throws AttributeException
このSockletに設定されている、指定された名前のSocklet固有属性値を整数値として取得します。

定義:
インタフェース AttributeContainer 内の getAttributeInt
パラメータ:
key - Socklet固有属性名
戻り値:
Socklet固有属性整数値
AttributeException
関連項目:
AttributeContainer.getAttributeInt(Object)

setAttribute

public final void setAttribute(java.lang.Object key,
                               long value)
このSockletに、指定された名前のSocklet固有属性値を長整数値として設定します

定義:
インタフェース AttributeContainer 内の setAttribute
パラメータ:
key - Socklet固有属性名
value - Socklet固有属性長整数値
関連項目:
AttributeContainer.setAttribute(Object, long)

getAttributeLong

public final long getAttributeLong(java.lang.Object key)
                            throws AttributeException
このSockletに設定されている、指定された名前のSocklet固有属性値を長整数値として取得します。

定義:
インタフェース AttributeContainer 内の getAttributeLong
パラメータ:
key - Socklet固有属性名
戻り値:
Socklet固有属性長整数値
AttributeException
関連項目:
AttributeContainer.getAttributeLong(Object)

setAttribute

public final void setAttribute(java.lang.Object key,
                               double value)
このSockletに、指定された名前の固有属性値を実数値として設定します

定義:
インタフェース AttributeContainer 内の setAttribute
パラメータ:
key - Socklet固有属性名
value - Socklet固有属性実数値
関連項目:
AttributeContainer.setAttribute(Object, double)

getAttributeDouble

public final double getAttributeDouble(java.lang.Object key)
                                throws AttributeException
このSockletに設定されている、指定された名前の固有属性値を実数値として取得します。

定義:
インタフェース AttributeContainer 内の getAttributeDouble
パラメータ:
key - Socklet固有属性名
戻り値:
Socklet固有属性長実数値
AttributeException
関連項目:
AttributeContainer.getAttributeLong(Object)

setAttribute

public final void setAttribute(java.lang.Object key,
                               boolean value)
このSockletに、指定された名前のSocklet固有属性値を真偽値として設定します

定義:
インタフェース AttributeContainer 内の setAttribute
パラメータ:
key - Socklet固有属性名
value - Socklet固有属性真偽値
関連項目:
AttributeContainer.setAttribute(Object, boolean)

getAttributeBoolean

public final boolean getAttributeBoolean(java.lang.Object key)
                                  throws AttributeException
このSockletに設定されている、指定された名前のSocklet固有属性値を真偽値として取得します。

定義:
インタフェース AttributeContainer 内の getAttributeBoolean
パラメータ:
key - Socklet固有属性名
戻り値:
Socklet固有属性真偽値
AttributeException
関連項目:
AttributeContainer.getAttributeBoolean(Object)

sendToAllClients

public final void sendToAllClients(java.lang.String message)
現在このSockletに接続中の全てのクライアントに向けて、メッセージを送信します。
このメソッドは、指定されたStringを特に加工することなく送信しますが、 Flash XMLSocketの規定に則り、文字列末尾は必ず\0として送信しますので、 Socklet制作者は特にそれを意識する必要はありません。

定義:
インタフェース Socklet 内の sendToAllClients
パラメータ:
message - 送信するメッセージ
関連項目:
Socklet.sendToAllClients(String)

sendToClients

public final void sendToClients(java.lang.String message,
                                Finder finder)
現在このSockletに接続中のクライアントのうち、特定の条件を有するクライアントのみに向けて、メッセージを送信します。
例えば、特定のユーザー名を指定して、そのユーザーのみに送信したい場合は、以下のようにします。
sendToClients("送りたいメッセージ", new SocketProcessorFinderByUsername("送りたいユーザー名"));
また、特定のユーザにのみ送りたくない場合は以下のようにします。
sendToClients("送りたいメッセージ", new SocketProcessorFinderByUsername(false, "送りたくないユーザー名"));

定義:
インタフェース Socklet 内の sendToClients
パラメータ:
message - 送信するメッセージ
finder - 送信したいクライアント検索用オブジェクト
関連項目:
SocketProcessorFinder.getFinder(String), Socklet.sendToClients(String, Finder)

sendToClients

public final void sendToClients(java.lang.String message,
                                java.lang.String condition)
現在このSockletに接続中のクライアントのうち、特定の条件を有するクライアントのみに向けて、メッセージを送信します。
条件の指定方法は、SocketProcessorFinder#getFinder(String)をご覧ください。

定義:
インタフェース Socklet 内の sendToClients
パラメータ:
message - 送信するメッセージ
condition - 送信したいクライアントの検索条件文
関連項目:
SocketProcessorFinder.getFinder(String), Socklet.sendToClients(String, String)

addClient

public final void addClient(SocketProcessor client)
指定したクライアントを、このSockletの接続中クライアント一覧に追加します。
このメソッドは、待受けメインサーバから呼ばれるためのもので、通常の場合Socklet制作者が使用することはほとんどありません。

定義:
インタフェース Socklet 内の addClient
パラメータ:
client - 追加するクライアント
関連項目:
Socklet.addClient(SocketProcessor)

removeClient

public final void removeClient(SocketProcessor client)
指定したクライアントを、このSockletの接続中クライアント一覧から削除します。
このメソッドは、待受けメインサーバから呼ばれるためのもので、通常の場合Socklet制作者が使用することはほとんど無いでしょう。
このメソッドを呼び出しただけでは、クライアントソケットは切断されません。sendTo系のメソッドのクライアント候補からはずされるのみです。

定義:
インタフェース Socklet 内の removeClient
パラメータ:
client - 削除するクライアント
関連項目:
Socklet.removeClient(SocketProcessor)

countClients

public final int countClients()
現在接続中のクライアント数を数えます。

定義:
インタフェース Socklet 内の countClients
関連項目:
Socklet.countClients()

containsClient

public final boolean containsClient(SocketProcessor client)
指定したクライアントが、現在このSockletの接続中クライアント一覧に存在するか確認します。
このメソッドは、待受けメインサーバから呼ばれるためのもので、通常の場合Socklet制作者が使用することはほとんどありません。

パラメータ:
client - 確認するクライアントソケット処理オブジェクト
戻り値:
指定したクライアントが、現在このSockletに接続中なら真

getAllClients

public final java.util.List getAllClients()
このSockletに接続中の全てのクライアント一覧を、リストとして取得します。

戻り値:
接続中クライアント一覧を保持するList

getClients

public final java.util.List getClients(Finder finder)
このSockletに接続中のクライアント一覧のうち、 指定された条件を有するクライアントを一覧を、リストとして取得します。

パラメータ:
finder - クライアント検索条件表現オブジェクト
戻り値:
検索条件に一致したクライアント一覧を保持するList

getClients

public final java.util.List getClients(java.lang.String condition)
このSockletに接続中のクライアント一覧のうち、 指定された条件を有するクライアントを一覧を、リストとして取得します。
条件の指定方法は、SocketProcessorFinder#getFinder(String)をご覧ください。

パラメータ:
condition - クライアント検索条件文字列
戻り値:
検索条件に一致したクライアント一覧を保持するList
関連項目:
SocketProcessorFinder.getFinder(String)

disconnectAllClients

public final void disconnectAllClients(java.lang.String message)
このSockletに接続中の全クライアントを切断します。
このメソッドは、待受けメインサーバから呼ばれるためのもので、通常の場合Socklet制作者が使用することはほとんどありません。

定義:
インタフェース Socklet 内の disconnectAllClients
パラメータ:
message - 閉鎖メッセージ
関連項目:
Socklet.disconnectAllClients(String)

preCreateFinder

public final Finder preCreateFinder(java.lang.String condition)
クライアント絞込条件指定オブジェクトを構築します。
毎度毎度getClients(String condition)を使用するより、 一旦このメソッドでFinderオブジェクトを作成し、 getClients(Finder finder)メソッドを使用した方が(多分)パフォーマンスは良いでしょう。

パラメータ:
condition - クライアント検索条件文字列
戻り値:
クライアント検索条件表現オブジェクト

log

public void log(java.lang.Object message)
Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 情報ログを出力します。
「既定のログファイル」は、初期設定ファイルのノードの子ノードノードに設定されたロガー情報に記述されます。
ログレベルがWARN以下に設定されている場合は、このメソッドで出力される情報はファイルへ書き込まれません。 このメソッドでログを出力したい場合は、ログレベルがDEBUGまたはINFOである必要があります。

このメソッドは、log(message, Progress.INFO, null)と同義です。

パラメータ:
message - 出力するログメッセージ

log

public void log(java.lang.Object message,
                org.apache.log4j.Priority priority)
Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 指定された種類のログを出力します。
ログ情報種類には、Progressオブジェクトのフィールドとして既定してあるDEBUG, INFO, WARN, ERROR, FETALのいずれかを指定してください。

このメソッドは、log(message, priority, null)と同義です。

パラメータ:
message - 出力するログメッセージ
priority - ログ情報種類

log

public void log(java.lang.Object message,
                java.lang.Throwable throwable)
Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 エラーログを出力します。
メッセージ文字列出力の後にthrowableで指定されたエラーオブジェクトの情報を出力します。

このメソッドは、log(message, Progress.ERROR, throwable)と同義です。

パラメータ:
message - 出力するログメッセージ
throwable - 発生したエラー

log

public void log(java.lang.Object message,
                org.apache.log4j.Priority priority,
                java.lang.Throwable throwable)
Socklet既定のログファイルか、それが登録されていない場合はシステムログファイルに、 指定された種類のログを出力します。
メッセージ文字列出力の後にthrowableで指定されたエラーオブジェクトの情報を出力します。
ログ情報種類には、Progressオブジェクトのフィールドとして既定してあるDEBUG, INFO, WARN, ERROR, FETALのいずれかを指定してください。

定義:
インタフェース Socklet 内の log
パラメータ:
message - 出力するログメッセージ
priority - ログ情報種類
throwable - 発生したエラー
関連項目:
Socklet.log(Object, Priority, Throwable)

memo

public void memo(java.lang.String logger,
                 java.lang.Object message)
指定されたロガー情報名のログファイルに、情報ログを出力します。
「ロガー情報名」では、初期設定ファイルのノードの子ノードノードに設定されたロガー情報か、 またはノードでkey属性に"logger.ロガー名"を指定して作成されたロガー情報を選択します。 このノードでは、ログファイルの場所や出力方法を指定することが出来ます。 ログレベルがWARN以下に設定されている場合は、このメソッドで出力される情報はファイルへ書き込まれません。 このメソッドでログを出力したい場合は、ログレベルがDEBUGまたはINFOである必要があります。

このメソッドは、memo(logger, message, Progress.INFO, null)と同義です。

パラメータ:
logger - 出力先ロガー情報名
message - 出力するログメッセージ
関連項目:
Progress.log(String, Object)

memo

public void memo(java.lang.String logger,
                 java.lang.Object message,
                 org.apache.log4j.Priority priority)
指定されたロガー情報名のログファイルに、指定された種類のログを出力します。
ログ情報種類には、Progressオブジェクトのフィールドとして既定してあるDEBUG, INFO, WARN, ERROR, FETALのいずれかを指定してください。

このメソッドは、memo(logger, message, priority, null)と同義です。

パラメータ:
logger - 出力先ロガー情報名
message - 出力するログメッセージ
priority - ログ情報種類
関連項目:
Progress.log(String, Object, Priority)

memo

public void memo(java.lang.String logger,
                 java.lang.Object message,
                 java.lang.Throwable t)
指定されたロガー情報名のログファイルに、エラーログを出力します。
メッセージ文字列出力の後にthrowableで指定されたエラーオブジェクトの情報を出力します。

このメソッドは、memo(logger, message, Progress.ERROR, throwable)と同義です。

パラメータ:
logger - 出力先ロガー情報名
message - 出力するログメッセージ
関連項目:
Progress.log(String, Object, Throwable)

memo

public void memo(java.lang.String logger,
                 java.lang.Object message,
                 org.apache.log4j.Priority priority,
                 java.lang.Throwable t)
指定されたロガー情報名のログファイルに、指定された種類のログを出力します。
メッセージ文字列出力の後にthrowableで指定されたエラーオブジェクトの情報を出力します。
ログ情報種類には、Progressオブジェクトのフィールドとして既定してあるDEBUG, INFO, WARN, ERROR, FATALのいずれかを指定してください。

パラメータ:
logger - 出力先ロガー名
message - 出力するログメッセージ
priority - ログ情報種類
関連項目:
Progress.log(String, Object, Priority, Throwable)

init

public final void init(SockletDeployInfo info,
                       java.util.List links,
                       Progress progress)
このSockletを初期化します。
このメソッドは、待受けメインサーバから呼ばれるためのもので、Socklet制作者が使用することはありません。

定義:
インタフェース Socklet 内の init
パラメータ:
info - Socklet配備情報
links - 自動的に追加配備したいSockletのSocklet配備情報オブジェクトを設定するためのList
progress - ソケット処理状況進捗管理オブジェクト。
関連項目:
Socklet.init(SockletDeployInfo, List, Progress)

init

protected void init(java.util.List links)
Sockletを初期化するためのメソッド。
このメソッドは、ソケット待受けサーバの起動時に、1回だけ呼ばれます。
Sockletの初期化作業が必要な場合は、このメソッドか、またはinit()をオーバーライドし、その中に記述してください。

引数で渡されるlinkedSockletsにSocklet配備情報オブジェクトを追加すると、その配備情報のSockletが起動され、サーバに自動的に配備されます。
Socklet同士で連携して働くようなSockletシステムを構築する場合は、 Socklet配備情報オブジェクトを作成し、linksリストに追加してください。

パラメータ:
links - 自動的に追加配備したいSockletがある場合は、Socklet配備情報オブジェクトをこのListに追加してください。
関連項目:
init()

init

protected void init()
Sockletを初期化するためのメソッド。
このメソッドは、ソケット待受けサーバの起動時に、1回だけ呼ばれます。
Sockletの初期化作業が必要な場合は、このメソッドか、またはinit(List)をオーバーライドし、その中に記述してください。

関連項目:
init(List)

afterDeployedLinks

public void afterDeployedLinks(java.util.Map linkedSocklets)
このメソッドはinit(SockletDeployInfo info, List links, Progress progress)にて、 linksオブジェクトに設定された追加配備Sockletを配備し終えた後、サーバにより起動時に1回だけ呼ばれます。
サーバによって追加配備されたSockletを予め取得しておきたい場合は、 このメソッドをオーバーライドしてください。

定義:
インタフェース Socklet 内の afterDeployedLinks
関連項目:
Socklet.afterDeployedLinks(Map)

checkConnection

public boolean checkConnection(SocketProcessor client)
接続用初期コマンド受信後、クライアントの検査を行うためのメソッド。
このメソッドは、サーバが新しいクライアントからの接続を確認した時点で、 そのクライアントを検査するために呼ばれます。
接続クライアントに対し一番初めに一回だけ呼ばれます。
接続を試みているクライアントの検査や初期化を行ないたい場合は、このメソッドをオーバーライドしてください。
オーバーライドされない場合は、常に真を返します。

定義:
インタフェース Socklet 内の checkConnection
パラメータ:
client - 接続を試みているクライアント
戻り値:
検査後、即終了する場合は偽。
関連項目:
checkConnection(SocketProcessor), SocketProcessor

preRemoveClient

public void preRemoveClient(SocketProcessor client)
クライアント削除前に呼び出されるメソッド。
接続中のクライアントが切断され、このアプリケーションから除外される直前に呼ばれます。
接続クライアントに対し、終了前に一回だけ呼ばれます。
他の接続中クライアントへ、このクライアントが切断されたことを通知するような場合は、 このメソッドをオーバーライドしてください。

定義:
インタフェース Socklet 内の preRemoveClient
パラメータ:
client - これから削除されるクライアント
関連項目:
preRemoveClient(SocketProcessor)

destroy

public void destroy()
Sockletがサービスを停止する際に、待受けメインサーバによって呼び出されます。
Sockletの終了処理が必要な場合は、このメソッドをオーバーライドしてください。

定義:
インタフェース Socklet 内の destroy
関連項目:
Socklet.destroy()

allowAccessFromOtherSocklet

public boolean allowAccessFromOtherSocklet(Socklet from)
他のSockletからのアクセスを許可するかどうかを確認します。
既定では、常にアクセスを許可しません。
Sockletによってアクセスを許可する場合は、このメソッドをオーバーライドしてください。

定義:
インタフェース Socklet 内の allowAccessFromOtherSocklet
パラメータ:
from - アクセスを試みてきた、他のSocklet
戻り値:
そのSockletからのアクセスを許可する場合は真
関連項目:
Socklet.allowAccessFromOtherSocklet(Socklet)