jp.go.aist.dmrc.platform.beans.io
クラス PFNetworkClient

java.lang.Object
  上位を拡張 jp.go.aist.dmrc.platform.beans.io.PFNetworkClient
すべての実装されたインタフェース:
java.io.Serializable, PFComponent, PFXMLSerializable, PFEventSource, PFProcessRequestEventSource, PFProcessTerminateEventSource

public class PFNetworkClient
extends java.lang.Object
implements PFComponent, PFProcessRequestEventSource, PFProcessTerminateEventSource, PFXMLSerializable

ネットワークに接続して情報を取得するためのコンポーネント。 提供する機能は以下の通り。

このコンポーネントから発生するイベントは以下の通り。

関連項目:
直列化された形式

コンストラクタの概要
PFNetworkClient()
          コンストラクタ。
 
メソッドの概要
 void addPFProcessRequestListener(PFProcessRequestListener lis)
          引数で与えられたイベントリスナを登録し、 処理要求イベント発生時に処理を行う対象とする。
 void addPFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。
 boolean canGetContentFromURL(java.lang.String url)
          URL指定でデータが取得可能か判定する。
 void connectViaNTP(java.lang.String hostname)
          NTPサーバに接続して日時情報を要求する。
protected  java.lang.Object firePFProcessRequested(PFProcessRequestEvent event)
          処理要求イベントを発生させる。
protected  void firePFProcessTerminated(PFProcessTerminateEvent event)
          処理完了イベントを発生させる。
 int getComponentID()
          コンポーネントIDを取得する。
 java.lang.String getComponentKey()
          コンポーネントキーを取得する。
 PFMultiLocaleString getComponentKeys()
          全ロケール分のコンポーネントキーを返す。
 java.lang.String getComponentName()
          コンポーネント名称を取得する。
 java.lang.String getComponentPublicName()
          コンポーネント公開名を取得する.
 java.lang.String getComponentString()
          コンポーネントの文字列表現を取得する。
 java.lang.String getContentAsTextFromURL(java.lang.String url)
          URL指定でデータを文字列として取得する。
 java.util.Date getDateByNTP(java.lang.String hostname)
          NTPサーバから日時情報を取得する。
 java.lang.String getHostAddress(java.lang.String hostname)
          ホスト名からIPアドレスを文字列として取得する。
 java.lang.String getHostName(java.lang.String address)
          IPアドレスの文字列表現からホスト名を取得する。
 java.util.Date getLastModifiedFromURL(java.lang.String url)
          URL指定でデータの最終更新日時を取得する。
 java.util.Iterator getPFProcessRequestListenerList()
          処理要求イベントリスナ配列を取得する。
 java.util.Iterator getPFProcessTerminateListenerList()
          処理完了イベントリスナ配列を取得する。
 int getTimeout()
          接続のタイムアウト時間を取得する。
 boolean isAllowPullTransfer()
          他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowPushTransfer()
          他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowRemoteInvocation()
          他PFからのコンポーネント連携要求に対する可否属性を取得する.
 void localeUpdated()
          ロケール変更に対応する。
 void readXML(PFXMLLoader in)
          コンポーネントのXML入力.
 void removePFProcessRequestListener(PFProcessRequestListener lis)
          引数で与えられたイベントリスナを削除し、 処理要求イベント発生時に処理を行う対象から外す。
 void removePFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。
 void saveContentFromURL(java.lang.String url, java.lang.String filename)
          URL指定でデータをダウンロードして保存する。
 void setAllowPullTransfer(boolean flag)
          他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowPushTransfer(boolean flag)
          他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowRemoteInvocation(boolean flag)
          他PFからのコンポーネント連携要求に対する可否属性を設定する.
 void setComponentID(int id)
          コンポーネントIDを設定する。
 void setComponentKey(java.lang.String key)
          コンポーネントキーを設定する。
 void setComponentKeys(PFMultiLocaleString keys)
          全ロケール分のコンポーネントキーを設定する。
 void setComponentPublicName(java.lang.String publicName)
          コンポーネント公開名を設定する.
 void setTimeout(int duration)
          接続のタイムアウト時間を設定する。
 void writeXML(PFXMLGenerator out)
          コンポーネントのXML出力.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PFNetworkClient

public PFNetworkClient()
コンストラクタ。

メソッドの詳細

getComponentName

public java.lang.String getComponentName()
コンポーネント名称を取得する。

定義:
インタフェース PFComponent 内の getComponentName
戻り値:
コンポーネント名

getComponentKey

public java.lang.String getComponentKey()
コンポーネントキーを取得する。

定義:
インタフェース PFComponent 内の getComponentKey
戻り値:
コンポーネントキー文字列

setComponentKey

public void setComponentKey(java.lang.String key)
コンポーネントキーを設定する。

定義:
インタフェース PFComponent 内の setComponentKey
パラメータ:
key - コンポーネントキー

getComponentKeys

public PFMultiLocaleString getComponentKeys()
全ロケール分のコンポーネントキーを返す。

戻り値:
全ロケール分のコンポーネントキー

setComponentKeys

public void setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。

パラメータ:
keys - 全ロケール分のコンポーネントキー

getComponentID

public int getComponentID()
コンポーネントIDを取得する。

定義:
インタフェース PFComponent 内の getComponentID
戻り値:
コンポーネントID

setComponentID

public void setComponentID(int id)
コンポーネントIDを設定する。
コンポーネントIDはプラットフォームPFComponentBusから設定される。 各コンポーネント内では操作しないこと。

定義:
インタフェース PFComponent 内の setComponentID
パラメータ:
id - 設定するコンポーネントID

getComponentString

public java.lang.String getComponentString()
コンポーネントの文字列表現を取得する。
形式:"Component Name" [ ID : "ID" ]

定義:
インタフェース PFComponent 内の getComponentString
戻り値:
文字列表現

getComponentPublicName

public java.lang.String getComponentPublicName()
コンポーネント公開名を取得する.

定義:
インタフェース PFComponent 内の getComponentPublicName
戻り値:
コンポーネント公開名

setComponentPublicName

public void setComponentPublicName(java.lang.String publicName)
                            throws PFComponentException
コンポーネント公開名を設定する.
空文字のみの公開名は、nullに置き換える。数字のみの公開名は許可しない。 また、既存コンポーネントとの重複も認めない.

定義:
インタフェース PFComponent 内の setComponentPublicName
パラメータ:
publicName - 設定するコンポーネント公開名
例外:
PFComponentException - 規約に反する名前が設定されようとした場合

isAllowRemoteInvocation

public boolean isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowRemoteInvocation
戻り値:
コンポーネント連携要求可否属性

setAllowRemoteInvocation

public void setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowRemoteInvocation
パラメータ:
flag - コンポーネント連携要求に対する可否

isAllowPullTransfer

public boolean isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPullTransfer
戻り値:
Pull型コンポーネント転送要求可否属性

setAllowPullTransfer

public void setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPullTransfer
パラメータ:
flag - Pull型コンポーネント転送要求に対する可否

isAllowPushTransfer

public boolean isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPushTransfer
戻り値:
Push型コンポーネント転送要求可否属性

setAllowPushTransfer

public void setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPushTransfer
パラメータ:
flag - Push型コンポーネント転送要求に対する可否

getPFProcessTerminateListenerList

public java.util.Iterator getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。

定義:
インタフェース PFProcessTerminateEventSource 内の getPFProcessTerminateListenerList
戻り値:
イベントリスナイテレータ

addPFProcessTerminateListener

public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。

定義:
インタフェース PFProcessTerminateEventSource 内の addPFProcessTerminateListener
パラメータ:
lis - 追加対象イベントリスナ

removePFProcessTerminateListener

public void removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。

定義:
インタフェース PFProcessTerminateEventSource 内の removePFProcessTerminateListener
パラメータ:
lis - 削除対象イベントリスナ

firePFProcessTerminated

protected void firePFProcessTerminated(PFProcessTerminateEvent event)
                                throws PFMethodException,
                                       PFRuntimeException
処理完了イベントを発生させる。

パラメータ:
event - 処理完了イベント
例外:
PFMethodException - イベント伝播先のメソッド起動時のエラー
PFRuntimeException - 予期しない実行時エラー

getPFProcessRequestListenerList

public java.util.Iterator getPFProcessRequestListenerList()
処理要求イベントリスナ配列を取得する。

定義:
インタフェース PFProcessRequestEventSource 内の getPFProcessRequestListenerList
戻り値:
イベントリスナイテレータ

addPFProcessRequestListener

public void addPFProcessRequestListener(PFProcessRequestListener lis)
引数で与えられたイベントリスナを登録し、 処理要求イベント発生時に処理を行う対象とする。

定義:
インタフェース PFProcessRequestEventSource 内の addPFProcessRequestListener
パラメータ:
lis - 追加対象イベントリスナ

removePFProcessRequestListener

public void removePFProcessRequestListener(PFProcessRequestListener lis)
引数で与えられたイベントリスナを削除し、 処理要求イベント発生時に処理を行う対象から外す。

定義:
インタフェース PFProcessRequestEventSource 内の removePFProcessRequestListener
パラメータ:
lis - 削除対象イベントリスナ

firePFProcessRequested

protected java.lang.Object firePFProcessRequested(PFProcessRequestEvent event)
                                           throws PFMethodException,
                                                  PFRuntimeException
処理要求イベントを発生させる。

パラメータ:
event - 処理要求イベント
例外:
PFMethodException - イベント伝播先のメソッド起動時のエラー
PFRuntimeException - 予期しない実行時エラー

localeUpdated

public void localeUpdated()
ロケール変更に対応する。

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

readXML

public void readXML(PFXMLLoader in)
コンポーネントのXML入力.

定義:
インタフェース PFXMLSerializable 内の readXML
パラメータ:
in - XML入力ユーティリティ

writeXML

public void writeXML(PFXMLGenerator out)
              throws java.io.IOException
コンポーネントのXML出力.

定義:
インタフェース PFXMLSerializable 内の writeXML
パラメータ:
out - XML出力ユーティリティ
例外:
java.io.IOException

getDateByNTP

public java.util.Date getDateByNTP(java.lang.String hostname)
                            throws PFComponentException
NTPサーバから日時情報を取得する。 取得に失敗した場合はnullを返す。このメソッドの実行でイベントは発生しない。 Apache Commons NetのNTPUDPClientを利用している。

パラメータ:
hostname - サーバ名
戻り値:
サーバの日時(Date)
例外:
PFComponentException - 取得失敗

connectViaNTP

public void connectViaNTP(java.lang.String hostname)
                   throws PFException
NTPサーバに接続して日時情報を要求する。 要求の結果は処理完了イベントで通知される。 Apache Commons NetのNTPUDPClientを利用している。

パラメータ:
hostname - サーバ名
例外:
PFException - イベント処理失敗

getHostAddress

public java.lang.String getHostAddress(java.lang.String hostname)
ホスト名からIPアドレスを文字列として取得する。 取得できない場合は空文字を返す。

パラメータ:
hostname - ホスト名
戻り値:
IPアドレスの文字列表現

getHostName

public java.lang.String getHostName(java.lang.String address)
IPアドレスの文字列表現からホスト名を取得する。 取得できない場合は空文字を返す。

パラメータ:
address - IPアドレスの文字列表現
戻り値:
ホスト名

canGetContentFromURL

public boolean canGetContentFromURL(java.lang.String url)
URL指定でデータが取得可能か判定する。 指定先へのアクセスに認証が必要な場合、処理要求イベントが発生する。 処理要求イベントの戻り値として、IDとパスワードの2つの文字列を要素としたPFObjectListを指定すると、 それらの情報で認証を実施する。

パラメータ:
url - データのURL
戻り値:
取得可能な場合true

getLastModifiedFromURL

public java.util.Date getLastModifiedFromURL(java.lang.String url)
                                      throws PFComponentException
URL指定でデータの最終更新日時を取得する。 不明な場合は現在の日時が返る。

パラメータ:
url - データのURL
戻り値:
最終更新日時
例外:
PFComponentException

saveContentFromURL

public void saveContentFromURL(java.lang.String url,
                               java.lang.String filename)
                        throws PFComponentException
URL指定でデータをダウンロードして保存する。

パラメータ:
url - ダウンロード元URL
filename - 保存するファイル名
例外:
PFComponentException - 各種例外:URLが存在しない場合など

getContentAsTextFromURL

public java.lang.String getContentAsTextFromURL(java.lang.String url)
                                         throws PFComponentException
URL指定でデータを文字列として取得する。

パラメータ:
url - ダウンロード元URL
例外:
PFComponentException - 各種例外:URLが存在しない場合など

getTimeout

public int getTimeout()
接続のタイムアウト時間を取得する。 デフォルト値は5秒。

戻り値:
時間(msec)

setTimeout

public void setTimeout(int duration)
接続のタイムアウト時間を設定する。

パラメータ:
duration - 時間(msec)