public class PFOpcUaClient extends java.lang.Object implements PFComponent, PFProcessRequestEventSource, PFProcessTerminateEventSource, PFXMLSerializable
このコンポーネントから発生するイベントは以下の通り。
トリガ | 結果データ | イベント番号 |
---|---|---|
ノード値の取得要求 | 値リスト | 0 |
ノード値のデータ型の取得要求 | 型リスト | 1 |
ノード一覧の取得要求 | ノード一覧 | 2 |
OPC-UA接続にはEclipse Miloを利用している。
コンストラクタと説明 |
---|
PFOpcUaClient()
コンポーネントを生成する。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
addPFProcessRequestListener(PFProcessRequestListener lis)
引数で与えられたイベントリスナを登録し、
処理要求イベント発生時に処理を行う対象とする。
|
void |
addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、
処理完了イベント発生時に処理を行う対象とする。
|
void |
browseNodes()
サーバノードのツリーをルートから全件検索する。
|
void |
browseNodes(int idType,
int rootNamespace,
java.lang.Object rootIdentifier,
int maxLevel)
起点となるノードのノードIDを指定して、サーバノードのツリーを指定した深度まで検索する。
|
void |
browseNodes(OpcUaClient client,
java.util.concurrent.CompletableFuture<OpcUaClient> future,
NodeId browseRoot,
int maxLevel,
PFObjectTable nodeData)
起点となるノードのノードIDを指定して、サーバノードのツリーを指定した深度まで検索する。
|
java.util.function.Predicate<EndpointDescription> |
endpointFilter()
クライアント設定用のエンドポイントフィルタを取得する。
|
protected java.lang.Object |
firePFProcessRequested(PFProcessRequestEvent event)
処理要求イベントを発生させる。
|
protected void |
firePFProcessTerminated(PFProcessTerminateEvent event)
処理完了イベントを発生させる。
|
java.lang.String |
getApplicationUri()
クライアント識別情報に含まれるアプリケーションURIを取得する。
|
int |
getBrowseTimeoutSecond()
browseNodes()メソッドのタイムアウト時間(秒)を取得する。
|
java.security.cert.X509Certificate |
getClientCertificate()
X.509証明書を取得する。
|
java.security.KeyPair |
getClientKeyPair()
認証鍵セットを取得する。
|
java.lang.String |
getCommonName()
クライアント識別情報に含まれるクライアント公開名を取得する。
|
int |
getComponentID()
コンポーネントIDを取得する。
|
java.lang.String |
getComponentKey()
コンポーネントキーを取得する。
|
PFMultiLocaleString |
getComponentKeys()
全ロケール分のコンポーネントキーを返す。
|
java.lang.String |
getComponentName()
コンポーネント名称を取得する。
|
java.lang.String |
getComponentPublicName()
コンポーネント公開名を取得する.
|
java.lang.String |
getComponentString()
コンポーネントの文字列表現を取得する。
|
java.lang.String |
getCountryCode()
クライアント識別情報に含まれる国名を取得する。
|
java.lang.String |
getDnsName()
クライアント識別情報に含まれるDNS名を取得する。
|
java.lang.String |
getEndpointUrl()
接続先エンドポイントのURLを取得する。
|
IdentityProvider |
getIdentityProvider()
クライアント識別情報を提供するプロバイダのインスタンスを取得する。
|
java.lang.String |
getIpAddress()
クライアント識別情報に含まれるIPアドレスを取得する。
|
java.lang.String |
getLocalityName()
クライアント識別情報に含まれる所在地名を取得する。
|
java.lang.String |
getOrganization()
クライアント識別情報に含まれる組織名を取得する。
|
java.lang.String |
getOrganizationalUnit()
クライアント識別情報に含まれる部署名を取得する。
|
java.util.Iterator |
getPFProcessRequestListenerList()
処理要求イベントリスナ配列を取得する。
|
java.util.Iterator |
getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。
|
int |
getReadTimeoutSecond()
readValues()メソッドのタイムアウト時間(秒)を取得する。
|
SecurityPolicy |
getSecurityPolicy()
クライアント設定用のセキュリティポリシーを取得する。
|
java.lang.String |
getStateName()
クライアント識別情報に含まれる州名を取得する。
|
void |
getValueClasses(OpcUaClient client,
java.util.concurrent.CompletableFuture<OpcUaClient> future,
java.util.List<NodeId> nodeIdList,
PFObjectList readData)
ノードIDリストに含まれるノードIDを持つノードの値リストを取得する。
|
PFObjectList |
getValueClasses(PFObjectTable idTable)
テーブル形式で指定したノードID群に含まれるノードIDを持つノードの値の型リストを取得する。
|
java.lang.String |
getX509Password()
X.509証明書作成用パスワードを文字列で取得する。
|
char[] |
getX509RawPassword()
X.509証明書作成用パスワードを文字配列で取得する。
|
boolean |
isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.
|
void |
localeUpdated()
ロケール変更に対応する。
|
void |
readValues(OpcUaClient client,
java.util.concurrent.CompletableFuture<OpcUaClient> future,
java.util.List<NodeId> nodeIdList,
PFObjectList readData)
ノードIDリストに含まれるノードIDを持つノードの値リストを取得する。
|
PFObjectList |
readValues(PFObjectTable idTable)
テーブル形式で指定したノードID群に含まれるノードIDを持つノードの値リストを取得する。
|
void |
readXML(PFXMLLoader in)
XMLを入力する.
|
void |
removePFProcessRequestListener(PFProcessRequestListener lis)
引数で与えられたイベントリスナを削除し、
処理要求イベント発生時に処理を行う対象から外す。
|
void |
removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、
処理完了イベント発生時に処理を行う対象から外す。
|
void |
setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
|
void |
setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
|
void |
setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.
|
void |
setAnonymousIdentity()
クライアント識別情報として匿名を設定する。
|
void |
setApplicationUri(java.lang.String applicationUri)
クライアント識別情報に含まれるアプリケーションURIを設定する。
|
void |
setBrowseTimeoutSecond(int sec)
browseNodes()メソッドのタイムアウト時間(秒)を設定する。
|
void |
setClassData(PFObjectList classData)
値の型取得メソッドのスレッド処理完了時に、結果データを受け取り処理完了イベント(イベント番号1)を発生させる。
|
void |
setCommonName(java.lang.String commonName)
クライアント識別情報に含まれるクライアント公開名を設定する。
|
void |
setComponentID(int id)
コンポーネントIDを設定する。
|
void |
setComponentKey(java.lang.String key)
コンポーネントキーを設定する。
|
void |
setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。
|
void |
setComponentPublicName(java.lang.String publicName)
コンポーネント公開名を設定する.
|
void |
setCountryCode(java.lang.String countryCode)
クライアント識別情報に含まれる国名を設定する。
|
void |
setDnsName(java.lang.String dnsName)
クライアント識別情報に含まれるDNS名を設定する。
|
void |
setEndpointUrl(java.lang.String url)
接続先エンドポイントのURLを設定する。
|
void |
setIpAddress(java.lang.String ipAddress)
クライアント識別情報に含まれるIPアドレスを設定する。
|
void |
setLocalityName(java.lang.String localityName)
クライアント識別情報に含まれる所在地名を設定する。
|
void |
setNodeData(PFObjectTable nodeData)
ノード一覧取得メソッドのスレッド処理完了時に、結果データを受け取り処理完了イベント(イベント番号2)を発生させる。
|
void |
setOrganization(java.lang.String organization)
クライアント識別情報に含まれる組織名を設定する。
|
void |
setOrganizationalUnit(java.lang.String organizationalUnit)
クライアント識別情報に含まれる部署名を設定する。
|
void |
setReadData(PFObjectList readData)
値取得メソッドのスレッド処理完了時に、結果データを受け取り処理完了イベント(イベント番号0)を発生させる。
|
void |
setReadTimeoutSecond(int sec)
readValues()メソッドのタイムアウト時間(秒)を設定する。
|
void |
setStateName(java.lang.String stateName)
クライアント識別情報に含まれる州名を設定する。
|
void |
setUserNameIdentity(java.lang.String userName,
java.lang.String password)
クライアント識別情報としてユーザ名とパスワードを設定する。
|
void |
setX509Password(java.lang.String x509Password)
X.509証明書作成用パスワードを設定する。
|
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 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 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 void localeUpdated()
localeUpdated
インタフェース内 PFComponent
public java.lang.String getEndpointUrl()
public void setEndpointUrl(java.lang.String url)
url
- 接続先エンドポイントpublic java.util.function.Predicate<EndpointDescription> endpointFilter()
public SecurityPolicy getSecurityPolicy()
public IdentityProvider getIdentityProvider()
public void setAnonymousIdentity()
public void setUserNameIdentity(java.lang.String userName, java.lang.String password)
userName
- ユーザ名password
- パスワードpublic void setCommonName(java.lang.String commonName)
commonName
- クライアント公開名public java.lang.String getCommonName()
public void setOrganization(java.lang.String organization)
organization
- 組織名public java.lang.String getOrganization()
public void setOrganizationalUnit(java.lang.String organizationalUnit)
organizationalUnit
- 部署名public java.lang.String getOrganizationalUnit()
public void setLocalityName(java.lang.String localityName)
localityName
- 所在地名public java.lang.String getLocalityName()
public void setStateName(java.lang.String stateName)
stateName
- 州名public java.lang.String getStateName()
public void setCountryCode(java.lang.String countryCode)
countryCode
- 国名public java.lang.String getCountryCode()
public void setApplicationUri(java.lang.String applicationUri)
applicationUri
- アプリケーションURIpublic java.lang.String getApplicationUri()
public void setDnsName(java.lang.String dnsName)
dnsName
- DNS名public java.lang.String getDnsName()
public void setIpAddress(java.lang.String ipAddress)
ipAddress
- IPアドレスpublic java.lang.String getIpAddress()
public void setReadTimeoutSecond(int sec)
sec
- タイムアウトまでの秒数public int getReadTimeoutSecond()
public void setBrowseTimeoutSecond(int sec)
sec
- タイムアウトまでの秒数public int getBrowseTimeoutSecond()
public void setX509Password(java.lang.String x509Password)
x509Password
- パスワードpublic java.lang.String getX509Password()
public char[] getX509RawPassword()
public java.security.cert.X509Certificate getClientCertificate()
public java.security.KeyPair getClientKeyPair()
public PFObjectList readValues(PFObjectTable idTable) throws PFComponentException
idTable
- ノードID群を含むテーブルPFComponentException
public void readValues(OpcUaClient client, java.util.concurrent.CompletableFuture<OpcUaClient> future, java.util.List<NodeId> nodeIdList, PFObjectList readData)
client
- 通信実行スレッドのクライアントインスタンスfuture
- スレッドの処理結果nodeIdList
- ノードIDリストreadData
- 取得したノードの値リスト格納先public PFObjectList getValueClasses(PFObjectTable idTable) throws PFComponentException
idTable
- ノードID群を含むテーブルPFComponentException
public void getValueClasses(OpcUaClient client, java.util.concurrent.CompletableFuture<OpcUaClient> future, java.util.List<NodeId> nodeIdList, PFObjectList readData)
client
- 通信実行スレッドのクライアントインスタンスfuture
- スレッドの処理結果nodeIdList
- ノードIDリストreadData
- 取得したノードの値リスト格納先public void browseNodes() throws PFComponentException
PFComponentException
- タイムアウトが発生public void browseNodes(int idType, int rootNamespace, java.lang.Object rootIdentifier, int maxLevel) throws PFComponentException
idType
- ID種別rootNamespace
- ネームスペースインデクスrootIdentifier
- ノード識別子maxLevel
- 検索する最大深度PFComponentException
- タイムアウトが発生public void browseNodes(OpcUaClient client, java.util.concurrent.CompletableFuture<OpcUaClient> future, NodeId browseRoot, int maxLevel, PFObjectTable nodeData)
client
- 通信実行スレッドのクライアントインスタンスfuture
- スレッドの処理結果browseRoot
- 検索の起点となるノードIDmaxLevel
- 検索する最大深度nodeData
- 取得したノード一覧データの格納先public void setReadData(PFObjectList readData)
readData
- 値取得メソッドの出力データpublic void setClassData(PFObjectList classData)
classData
- 値の型取得メソッドの出力データpublic void setNodeData(PFObjectTable nodeData)
nodeData
- ノード一覧取得メソッドの出力データpublic void writeXML(PFXMLGenerator out) throws java.io.IOException
writeXML
インタフェース内 PFXMLSerializable
out
- XML出力ユーティリティjava.io.IOException
public void readXML(PFXMLLoader in)
readXML
インタフェース内 PFXMLSerializable
in
- XML入力ユーティリティ