- i -
org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception +-org.t_engine.tenet.core.coreerrormessageexception public class CoreErrorMessageException extends CoreException 予期しないメッセージが到達した場合にスローされる Constructors CoreErrorMessageException public CoreErrorMessageException(java.lang.String string) 詳細メッセージ string を持つ CoreErrorMessageException を構築する string - 詳細メッセージ Page 3
org.t_engine.tenet.core.coreexception org.t_engine.tenet.core Class CoreException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception Direct Known Subclasses: CoreErrorMessageException, CoreInternalException, CoreParameterException, CoreSmartcardException public class CoreException extends java.lang.exception Core で例外が発生した際にスローされる例外の基底クラスである Constructors CoreException public CoreException(java.lang.String string) 詳細メッセージ string を持つ CoreException を構築する string - 詳細メッセージ Page 4
org.t_engine.tenet.core.coreinternalexception org.t_engine.tenet.core Class CoreInternalException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception +-org.t_engine.tenet.core.coreinternalexception public class CoreInternalException extends CoreException Core で内部的なエラーが発生した場合にスローされる 例えば内部リソースファイルアクセスに失敗 設定ファイルに不正 内部のクラス生成に失敗した場合などにスローされる Constructors CoreInternalException public CoreInternalException(java.lang.String string) 詳細メッセージ string を持つ CoreInternalException を構築する string - 詳細メッセージ Page 5
org.t_engine.tenet.core.coreparameterexception org.t_engine.tenet.core Class CoreParameterException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception +-org.t_engine.tenet.core.coreparameterexception public class CoreParameterException extends CoreException メソッドの引数が不正な場合にスローされる 例えば null が許容されていないパラメータに null を指定した場合などにスローされる Constructors CoreParameterException public CoreParameterException(java.lang.String string) 詳細メッセージ string を持つ CoreParameterException を構築する string - 詳細メッセージ Page 6
org.t_engine.tenet.core.coresmartcardexception org.t_engine.tenet.core Class CoreSmartcardException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception +-org.t_engine.tenet.core.coresmartcardexception public class CoreSmartcardException extends CoreException アプリケーションがアクセスするドメイン domain に対する IC カードが存在しない場合にスローされる Constructors CoreSmartcardException public CoreSmartcardException(java.lang.String string) 詳細メッセージstringを持つCoreSCardExceptionを構築する string - 詳細メッセージ CoreSmartcardException public CoreSmartcardException(int errcode) エラーコードerrcodeから生成した詳細メッセージを持つCoreSmartcardExceptionを構 errcodeは16 進文字列に変換して設定する errcode - エラーコード Page 7
org.t_engine.tenet.core.dispatchagent org.t_engine.tenet.core Class DispatchAgent java.lang.object +-org.t_engine.tenet.core.dispatchagent public class DispatchAgent extends java.lang.object アプリケーションに対してメッセージを送受信するための手段を提供する このクラスのインスタンスは SystemManager#getAgent() メソッドにより取得することができる DispatchAgent クラスのインスタンスは 動的に付与された大域的に一意 (global unique) な et つ この識別子は メッセージ送信の際の送信元 ID およびメッセージ受信の際の宛先 ID として用いられる 付与された識別子の値は getidentifier() メソッドにより確認することができる アプリケーションは 取得したこのクラスのインスタンスを用いることにより e2tp メッセージの送受信を行うことができる メッセージ送受信の方法としては 同期的なメッセージの送受信 ( メッセージの送信後 送信メッセージに対する応答メッセージの受信を待ち受けする ;syncsend() 参照 ) と 非同期的なメッセージの送受信 ( メッセージ信後 受信メッセージの待ち受けを行わず直ちに return する ;send() 参照 ) の 二種類の送受信方法が提供されるメッセージの送信は syncsend() もしくは send() メソッドに対し 送信対象となる Message クラスの引数として与えることにより行なわれる ただし 送信されるメッセージの送信元 ID(srcID) としては インスタンス取得の際に付与された etronid が常に用いられる すなわち 引数オブジェクトに送信元 ID が設定されていたとしても 常に無視される また 引数オブジェクトのスレッド ID が不定 (null) の場合 スレッド ID は自動的に付与される ( 定 (null) でない場合は 引数オブジェクトに設定されたスレッド ID がそのまま使われる ) この自動付与されるスレッド ID は 大域的な一意性を確保するため 自身の etronid を含んで生成される (e2tp メッセージ仕様書 2.1 ) 非同期にメッセージの受信を行うためには アプリケーションはあらかじめ setlistener() メソッドにより メージの受信を通知するためのリスナオブジェクトを登録する必要がある 登録するリスナオブジェクトは MessageListener インタフェースを実装していなくてはならない メッセージの受信はリスナオブジェクトの MessageListener#received() メソッドの呼び出しとして通知される リスナオブジェクトが登録さ受信したメッセージは単に破棄される See Also: Message, MessageListener, SystemManager Methods getidentifier public ETronID getidentifier() DispatchAgentに割り当てられたeTRONIDを返却する このeTRONIDはメッセージ送信時的に使用される DispatchAgent に割り当てられた etronid setlistener public void setlistener(messagelistener listener) リスナlistenerを非同期的なメッセージの受信を行うためのリスナとして登録する すでにリスナが登録さている場合は上書きする リスナlistenerにnullを指定すると登録を解除する listener - リスナ (continued on next page) Page 8
org.t_engine.tenet.core.dispatchagent (continued from last page) getlistener public MessageListener getlistener() setlistener() メソッドにより登録されたリスナを取得する 登録されていない場合はnullを返却 setlistener() メソッドにより登録されたリスナ send public ThreadID send(message msg) throws CoreParameterException 送信するメッセージmsgで指定した宛先へ非同期にメッセージを送信する メッセージの送信が完了すると直ちに制御を返す 送信するメッセージmsgの送信元 IDにはgetIdentifier() メソッドで返却される ( 上書き ) し 送信するメッセージmsgのスレッドIDが不定 (null) の場合は新たに生成したスレッドIDをメッセージを送信する 送信したメッセージのスレッドIDは返値で返却する msg - 送信するメッセージ 送信したメッセージのスレッド ID CoreParameterException - 送信するメッセージ msg が null syncsend public Message syncsend(message msg) throws CoreParameterException 送信するメッセージmsgで指定した宛先へ同期的にメッセージを送信する 送信したメッセージに対応する応答メッセージ すなわち送信したメッセージと同一スレッドIDを持つメッセージを受信するか タイムアウトするまで制御を返さない 受信したメッセージは返値で返却し タイムアウトが発生した場合はnullを返却する タイムアウト値はSystemManager#getDefaultTimeout() メソッドで返却される send() メソッドと同様に msgに送信元 IDが設定されていたとしても無視される また 同様にmsgのス IDが不定 (null) の場合は自動的にスレッドIDが付与される msg - 送信するメッセージ 送信したメッセージに対応する応答メッセージ タイムアウトした場合は null CoreParameterException - 送信するメッセージ msg が null syncsend public Message syncsend(message msg, int timeout) throws CoreParameterException 送信するメッセージmsgで指定した宛先へメッセージを同期的に送信する ( タイムアウト値指定 ) メッセージ受信タイムアウトに引数で与えられたtimeoutが用いられるほかはsyncSend(msg) メソッドと同じ msg - 送信するメッセージ timeout - メッセージ受信タイムアウト ( ミリ秒単位の正の整数 ) Page 9
org.t_engine.tenet.core.dispatchagent (continued from last page) 送信するメッセージに対応する応答メッセージ タイムアウトした場合は null CoreParameterException - 送信するメッセージ msg が null またはメッセージ受信タイムアウト timeout が負の数 Page 10
org.t_engine.tenet.core.etronid org.t_engine.tenet.core Class ETronID java.lang.object +-org.t_engine.tenet.core.etronid public class ETronID extends java.lang.object ETronID クラスは e2tp メッセージにおいてメッセージの送信元および宛先を表すための識別子として用いられる etronid を表す etronid は ドメインとポートから構成される このクラスは etronid のドメインやポートを取得するメソッドを提供する Constructors ETronID public ETronID(java.lang.String domain, int port) ドメインの文字列表現 (24バイトのHex 文字列 )domainとポートportから構成されるetronidをジェクトを構築する domain - ドメインの文字列表現 (24 バイトの Hex 文字列 ) port - ポート CoreParameterException - ドメインの文字列表現 (24 バイトの Hex 文字列 )domain が null まイトでない または Hex 文字列でない ETronID public ETronID(byte[] domain, int port) ドメインのバイト配列表現 domainとポートportから構成されるetronidを表す ETronIDオブる domain - ドメインのバイト配列表現 port - ポート CoreParameterException - ドメインのバイト配列表現 domain が null か 12 バイト以外 ETronID public ETronID(java.lang.String etronid) etronidの文字列表現 (32バイトのHex 文字列 )etronidで示されるetronidを表す ETr る etronid - etronid の文字列表現 (32 バイトの Hex 文字列 ) Page 11
org.t_engine.tenet.core.etronid (continued from last page) CoreParameterException - etronid の文字列表現 (32 バイトの Hex 文字列 )etronid が nu バイト以外か または Hex 文字列ではない ETronID public ETronID(byte[] etronid) etronidのバイト配列表現 etronidで示されるetronidを表す ETronIDオブジェクトを構 etronid - etronid のバイト配列表現 CoreParameterException - etronid のバイト配列表現 etronid が null か 16 バイトでない Methods equals public boolean equals(java.lang.object obj) etronidの等値性を判定する 比較対象 objが表すetronidが このオブジェクトのeTRONID が返却される etronidが異なる場合 もしくは比較対象 objがetronidクラスのインスタンスでない falseが返却される obj - 比較対象 比較対象 obj が表す etronid がこのオブジェクトの etronid と等しい場合は true そうでない場 tostring public java.lang.string tostring() このeTRONIDの文字列表現 (32バイトのHex 文字列 ) を返す etronid の文字列表現 (32 バイトの Hex 文字列 ) tobytes public byte[] tobytes() このeTRONIDのバイト配列表現を返す etronid のバイト配列表現 getdomain public java.lang.string getdomain() このeTRONIDのドメインの文字列表現 (24バイト文字列) を返す ドメインの文字列表現 (24 バイト文字列 ) Page 12
org.t_engine.tenet.core.etronid (continued from last page) getport public int getport() この etronid のポートを返す ポート Page 13
org.t_engine.tenet.core.message org.t_engine.tenet.core Class Message java.lang.object +-org.t_engine.tenet.core.message public class Message extends java.lang.object Message クラスは e2tp メッセージを表す このオブジェクトには メッセージを送信したアプリケーションまたは IC カードの etronid である送信元 ID(sr メッセージの宛先となるアプリケーションまたは IC カードの etronid である宛先 ID(dest) メッセージの種別められたメッセージ種別コード (mtype) 一連のメッセージ送受信を識別するためのスレッド ID(threadID) ジ種別ごとに定められたフォーマットに従って記述されたパラメータ (param) が含まれる このクラスのコンストラクタでは メッセージの送信元 ID を陽に引数として指定することはできない すなわち コンストラクタにより生成された Message オブジェクトの送信元 ID は不定である また コンストラクタ (dest mtype param) により生成された Message オブジェクトのスレッド ID は不定である このクラスは送信元 ID 宛先 ID メッセージ種別コード スレッド ID パラメータを取得するメソッドや メッセージのバイト配列表現を返却するメソッドを提供する Constructors Message public Message(ETronID dest, int mtype, byte[] param) 宛先 ID dest メッセージ種別コードmtype パラメータparamから構成されるメッセージを表す M ジェクトを構築する このコンストラクタにより生成されたMessageオブジェクトはスレッドIDが不定とな パラメータparamが存在しない場合はnullを指定する dest - 宛先 ID mtype - メッセージ種別コード param - パラメータ CoreParameterException - 宛先 ID dest が null Message public Message(ETronID dest, int mtype, ThreadID threadid, byte[] param) 宛先 ID dest メッセージ種別コードmtype スレッドID threadid パラメータparamかを表す Messageオブジェクトを構築する パラメータparamが存在しない場合はnullを指定する dest - 宛先 ID mtype - メッセージ種別コード threadid - スレッド ID param - パラメータ Page 14
org.t_engine.tenet.core.message Methods tobytes (continued from last page) CoreParameterException - 宛先 ID dest が null public byte[] tobytes() このメッセージのバイト配列表現を返す メッセージのバイト配列表現 getsrc public ETronID getsrc() このメッセージの送信元 IDを返す 送信元 IDが不定の場合はnullを返却する 送信元 ID getdest public ETronID getdest() このメッセージの宛先 IDを返す 宛先 ID getmtype public int getmtype() このメッセージのメッセージ種別コードを返す メッセージ種別コード getthreadid public ThreadID getthreadid() このメッセージのスレッドIDを返す スレッドIDが不定の場合はnullを返却する スレッド ID getparam public byte[] getparam() このメッセージのパラメータを返す パラメータが存在しない場合は0バイトの配列を返却する パラメータ Page 15
org.t_engine.tenet.core.messagelistener org.t_engine.tenet.core Interface MessageListener public interface MessageListener MessageListener インタフェースは非同期的なメッセージの送信に対する応答メッセージを受信をするためのナを構成するためのインタフェースである このインタフェースを実装したリスナを DispatchAgent#setListener() メソッドにて登録するこの通知を適宜受けることができる See Also: DispatchAgent Methods received public Message received(message msg) このオブジェクトを登録した DispatchAgent オブジェクトがメッセージを受信したときに呼び出される msg は受信したメッセージである このメソッドの返値を Message クラスのオブジェクトとすることにより 値オブジェクトはメッセージとして自動的に送信される このとき 送信元 ID としてこのオブジェクトを登録した DispatchAgent オブジェクトの etronid が スレッド ID が不定 (null) の場合は受信メッド ID が それぞれ送信前に自動的に設定される 返値を null もしくは Message クラス以外のオブジェした場合は メッセージは自動的には送信されない メッセージの自動送信が必要ない場合 返値として null を返却することが推奨される msg - 受信したメッセージ 対応して送信するメッセージ 不要な場合は null Page 16
org.t_engine.tenet.core.systemmanager org.t_engine.tenet.core Class SystemManager java.lang.object +-org.t_engine.tenet.core.systemmanager public class SystemManager extends java.lang.object このクラスはシステムを管理する VM( または仮想 VM) 上で singleton なクラスである 接続されている IC カードリーダライタ (IC カード R/W) の名称と IC カード R/W に挿入された IC カードのドメイン同期的メッセージ送受信におけるデフォルトタイムアウト値を返却するメソッドや アプリケーションに対してメッセージを送受信する機能を提供する DispatchAgent を返却するメソッドを提供する See Also: DispatchAgent Methods getinstance public static SystemManager getinstance() throws CoreInternalException 本 APIを用いてe2TPメッセージを送受するために必要な環境の初期化を行い このクラスの唯一のインスタンスを返す 唯一のインスタンス CoreInternalException - リソース (IC カード R/W ドライバ ) へのアクセスに失敗 getdomainmap public org.t_engine.tenet.util.map getdomainmap() ICカードR/W 名称をキーとした ICカードR/Wに挿入されているICカードのドメインの文字列表現 (24バ Hex 文字列 )domainのmapを返す ICカードR/Wに挿入されている使用可能なICカードが環境に存空のMapを返却する IC カード R/W 名称をキーとした IC カード R/W に挿入されている IC カードのドメインの文字列表現 (24 の Hex 文字列 ) の Map getdefaulttimeout public int getdefaulttimeout() 同期的なメッセージ送受信におけるデフォルトのタイムアウトを返す デフォルトのタイムアウト値は環境に依存する デフォルトのタイムアウト ( ミリ秒単位の正の整数 ) Page 17
org.t_engine.tenet.core.systemmanager (continued from last page) setdefaulttimeout public void setdefaulttimeout(int timeout) throws CoreParameterException 同期的なメッセージ送受信におけるデフォルトのタイムアウトを設定する timeout - デフォルトのタイムアウト ( ミリ秒単位の正の整数 ) CoreParameterException - デフォルトのタイムアウト timeout が負の数 getagent public DispatchAgent getagent(java.lang.string domain) throws CoreParameterException, CoreErrorMessageException, CoreSmartcardException ドメインdomainに属するeTRONIDを持ったDispatchAgentオブジェクトを新たに生成し 返 domain - ドメイン 生成した DispatchAgent オブジェクト CoreParameterException - 指定された domain が正しいドメインの文字列表現 (see ETronID CoreErrorMessageException - 生成する DispatchAgent オブジェクトのためのポートを IC カー成することに失敗した ( ドメイン domain はこれ以上新たなポートを生成できない ) CoreSmartcardException - 指定された domain に対応する IC カードが環境に存在しない Page 18
Index org.t_engine.tenet.core Class ThreadID java.lang.object +-org.t_engine.tenet.core.threadid public class ThreadID extends java.lang.object ThreadID クラスはメッセージに含まれるスレッド ID を表す このクラスはスレッド ID の文字列表現 (40 バイトの Hex 文字列 ) やバイト配列表現を返却するメソッドを提供する Constructors ThreadID public ThreadID(byte[] threadid) ThreadIDのバイト列表現 threadidで示されるthreadidを表す ThreadIDオブジェク threadid - ThreadID のバイト列表現 CoreParameterException - threadid が null か 20 バイトでない Methods tostring public java.lang.string tostring() このスレッドIDの文字列表現 (40バイトのHex 文字列 ) を返す スレッド ID の文字列表現 (40 バイトの Hex 文字列 ) tobytes public byte[] tobytes() このスレッドIDのバイト配列表現を返す スレッド ID のバイト配列表現 Page 19
Index Index C CoreErrorMessageException 3 CoreException 4 CoreInternalException 5 CoreParameterException 6 CoreSmartcardException 7 T ThreadID 19 tobytes 12, 15, 19 tostring 12, 19 E equals 12 ETronID 11, 12 G getagent 18 getdefaulttimeout 17 getdest 15 getdomain 12 getdomainmap 17 getidentifier 8 getinstance 17 getlistener 8 getmtype 15 getparam 15 getport 12 getsrc 15 getthreadid 15 M Message 14 R received 16 S send 9 setdefaulttimeout 17 setlistener 8 syncsend 9 Page 20