public class PFNetworkClient extends java.lang.Object implements PFComponent, PFProcessRequestEventSource, PFProcessTerminateEventSource, PFXMLSerializable
このコンポーネントから発生するイベントは以下の通り。
トリガ | 結果データ | イベント番号 |
---|---|---|
接続エラー | メッセージ(String) | 0 |
日時の取得要求 | 日時情報(Date) | 1 |
SSH接続ポート転送開始 | 転送開始メッセージ(String) | 2 |
SSH接続ポート転送終了 | メッセージ(String) | 3 |
トリガ | 要求データ | イベント番号 |
---|---|---|
HTTP接続時の認証要求 | NULL | 0 |
NTPサーバへの接続にはApache Commons Netを、SSH接続ポート転送の実現にはJSchを利用している。
コンストラクタと説明 |
---|
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.lang.String |
getHTMLContentAsTextFromURL(java.lang.String url,
java.lang.String post)
URL指定でHTML文字列を取得する。
|
java.util.Date |
getLastModifiedFromURL(java.lang.String url)
URL指定でデータの最終更新日時を取得する。
|
java.util.Iterator |
getPFProcessRequestListenerList()
処理要求イベントリスナ配列を取得する。
|
java.util.Iterator |
getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。
|
int |
getSshPort()
SSH接続ポート番号を取得する。
|
int |
getTimeout()
接続のタイムアウト時間を取得する。
|
java.lang.String |
getURLEncodedString(java.lang.String str)
URLエンコードした文字列を取得する。
|
boolean |
isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.
|
boolean |
isSshStrictHostKeyDisabled()
ホストキーの厳密チェック無効化を取得する。
|
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指定でデータをダウンロードして保存する。
|
java.lang.String |
sendViaSocket(java.lang.String host,
int port,
java.lang.String message)
ソケット通信でメッセージを送信する。
|
java.lang.String |
sendViaSocket(java.lang.String host,
int port,
java.lang.String message,
boolean sendOnly)
ソケット通信でメッセージを送信する。
|
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 |
setSshKnownHostsFile(java.lang.String pathname)
SSH接続既知ホストファイル名を設定する。
|
void |
setSshPort(int port)
SSH接続ポート番号を設定する。
|
void |
setSshPrivateKeyFile(java.lang.String pathname)
SSH接続秘密鍵ファイル名を設定する。
|
void |
setSshStrictHostKeyDisabled(boolean disabled)
ホストキーの厳密チェック無効化を設定する。
|
void |
setTimeout(int duration)
接続のタイムアウト時間を設定する。
|
void |
startSshPortForwarding(java.lang.String user,
java.lang.String password,
java.lang.String host,
int portLocal,
java.lang.String hostRemote,
int portRemote)
SSH接続でポート転送を開始する。
|
void |
stopSshConnection()
SSH接続を終了する。
|
void |
writeXML(PFXMLGenerator out)
コンポーネントのXML出力.
|
public java.lang.String getComponentName()
getComponentName
インタフェース内 PFComponent
public java.lang.String getComponentKey()
getComponentKey
インタフェース内 PFComponent
public void setComponentKey(java.lang.String key)
setComponentKey
インタフェース内 PFComponent
key
- コンポーネントキーpublic PFMultiLocaleString getComponentKeys()
public void setComponentKeys(PFMultiLocaleString keys)
keys
- 全ロケール分のコンポーネントキーpublic int getComponentID()
getComponentID
インタフェース内 PFComponent
public void setComponentID(int id)
PFComponentBus
から設定される。
各コンポーネント内では操作しないこと。setComponentID
インタフェース内 PFComponent
id
- 設定するコンポーネントIDpublic java.lang.String getComponentString()
getComponentString
インタフェース内 PFComponent
public java.lang.String getComponentPublicName()
getComponentPublicName
インタフェース内 PFComponent
public void setComponentPublicName(java.lang.String publicName) throws PFComponentException
setComponentPublicName
インタフェース内 PFComponent
publicName
- 設定するコンポーネント公開名PFComponentException
- 規約に反する名前が設定されようとした場合public boolean isAllowRemoteInvocation()
isAllowRemoteInvocation
インタフェース内 PFComponent
public void setAllowRemoteInvocation(boolean flag)
setAllowRemoteInvocation
インタフェース内 PFComponent
flag
- コンポーネント連携要求に対する可否public boolean isAllowPullTransfer()
isAllowPullTransfer
インタフェース内 PFComponent
public void setAllowPullTransfer(boolean flag)
setAllowPullTransfer
インタフェース内 PFComponent
flag
- Pull型コンポーネント転送要求に対する可否public boolean isAllowPushTransfer()
isAllowPushTransfer
インタフェース内 PFComponent
public void setAllowPushTransfer(boolean flag)
setAllowPushTransfer
インタフェース内 PFComponent
flag
- Push型コンポーネント転送要求に対する可否public java.util.Iterator getPFProcessTerminateListenerList()
getPFProcessTerminateListenerList
インタフェース内 PFProcessTerminateEventSource
public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
addPFProcessTerminateListener
インタフェース内 PFProcessTerminateEventSource
lis
- 追加対象イベントリスナpublic void removePFProcessTerminateListener(PFProcessTerminateListener lis)
removePFProcessTerminateListener
インタフェース内 PFProcessTerminateEventSource
lis
- 削除対象イベントリスナprotected void firePFProcessTerminated(PFProcessTerminateEvent event) throws PFMethodException, PFRuntimeException
event
- 処理完了イベントPFMethodException
- イベント伝播先のメソッド起動時のエラーPFRuntimeException
- 予期しない実行時エラーpublic java.util.Iterator getPFProcessRequestListenerList()
getPFProcessRequestListenerList
インタフェース内 PFProcessRequestEventSource
public void addPFProcessRequestListener(PFProcessRequestListener lis)
addPFProcessRequestListener
インタフェース内 PFProcessRequestEventSource
lis
- 追加対象イベントリスナpublic void removePFProcessRequestListener(PFProcessRequestListener lis)
removePFProcessRequestListener
インタフェース内 PFProcessRequestEventSource
lis
- 削除対象イベントリスナprotected java.lang.Object firePFProcessRequested(PFProcessRequestEvent event) throws PFMethodException, PFRuntimeException
event
- 処理要求イベントPFMethodException
- イベント伝播先のメソッド起動時のエラーPFRuntimeException
- 予期しない実行時エラーpublic void localeUpdated()
localeUpdated
インタフェース内 PFComponent
PFComponent.localeUpdated()
public void readXML(PFXMLLoader in)
readXML
インタフェース内 PFXMLSerializable
in
- XML入力ユーティリティpublic void writeXML(PFXMLGenerator out) throws java.io.IOException
writeXML
インタフェース内 PFXMLSerializable
out
- XML出力ユーティリティjava.io.IOException
public java.util.Date getDateByNTP(java.lang.String hostname) throws PFComponentException
hostname
- サーバ名PFComponentException
- 取得失敗public void connectViaNTP(java.lang.String hostname) throws PFException
hostname
- サーバ名PFException
- イベント処理失敗public java.lang.String getHostAddress(java.lang.String hostname)
hostname
- ホスト名public java.lang.String getHostName(java.lang.String address)
address
- IPアドレスの文字列表現public boolean canGetContentFromURL(java.lang.String url)
url
- データのURLpublic java.util.Date getLastModifiedFromURL(java.lang.String url) throws PFComponentException
url
- データのURLPFComponentException
public void saveContentFromURL(java.lang.String url, java.lang.String filename) throws PFComponentException
url
- ダウンロード元URLfilename
- 保存するファイル名PFComponentException
- 各種例外:URLが存在しない場合などpublic java.lang.String getContentAsTextFromURL(java.lang.String url) throws PFComponentException
url
- ダウンロード元URLPFComponentException
- 各種例外:URLが存在しない場合などpublic java.lang.String getHTMLContentAsTextFromURL(java.lang.String url, java.lang.String post) throws PFComponentException
url
- URL(GETパラメータ含む)post
- POSTパラメータ(GETの場合は空文字かnullを指定)PFComponentException
- 各種例外:URLが存在しない場合などpublic void startSshPortForwarding(java.lang.String user, java.lang.String password, java.lang.String host, int portLocal, java.lang.String hostRemote, int portRemote) throws PFException
user
- ユーザ名password
- パスワード/パスフレーズhost
- SSH接続先portLocal
- ローカルのポート番号hostRemote
- SSH接続先からの転送先portRemote
- 転送先のポート番号PFException
- イベント処理の例外PFComponentException
- すでに接続済みの場合および接続処理中の例外発生public void stopSshConnection() throws PFException
PFException
- イベント処理の例外public void setSshPort(int port)
port
- ポート番号public int getSshPort()
public void setSshPrivateKeyFile(java.lang.String pathname)
pathname
- ファイルパス名public void setSshKnownHostsFile(java.lang.String pathname)
pathname
- ファイルパス名public boolean isSshStrictHostKeyDisabled()
public void setSshStrictHostKeyDisabled(boolean disabled)
disabled
- 無効化の場合truepublic java.lang.String getURLEncodedString(java.lang.String str) throws PFComponentException
str
- 文字列PFComponentException
- エンコード失敗public java.lang.String sendViaSocket(java.lang.String host, int port, java.lang.String message) throws PFComponentException
host
- 送信先port
- ポートmessage
- メッセージPFComponentException
- 接続失敗public java.lang.String sendViaSocket(java.lang.String host, int port, java.lang.String message, boolean sendOnly) throws PFComponentException
host
- 送信先port
- ポートmessage
- メッセージsendOnly
- PFComponentException
- 接続失敗public int getTimeout()
public void setTimeout(int duration)
duration
- 時間(msec)