|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectohymosj.OhObject
ohymosj.OhPort
ohymosj.OhReceivePort
抽象クラスです。
受信端子には送信元端子を1つだけつなぐことができます。
クラス OhReceivePort では、
を記憶し、
を定義しました。
Class for models of receive ports. Derived from the class OhPort. This class OhReceivePort has a instance variable for storing a sender which sends datapacks to the current receive port.
Methods for
NOTE: Only one send port can be connected to an object of class OhReceivePort.
フィールドの概要 | |
protected OhSenderPort |
_sender
|
クラス ohymosj.OhObject から継承したフィールド |
_className, _objectName, _objectNumber, _owner, NEWLINE |
コンストラクタの概要 | |
OhReceivePort()
|
|
OhReceivePort(java.lang.String aPortName,
int aPortNum)
|
メソッドの概要 | |
boolean |
areYouReady()
|
void |
calReq()
|
boolean |
canYouGetData(OhTimePoint aTFromTo)
|
boolean |
canYouGetData(OhTimePoint aTFrom,
OhTimePoint aTTo)
|
boolean |
canYouSwitch()
|
abstract java.lang.String |
dataType()
|
boolean |
getDataPack(java.lang.Object[] aFormer,
OhTimePoint _dataTime,
java.lang.Object[] aLater)
|
boolean |
getDataPack(java.lang.Object[] aFormer,
OhTimePoint _dataTime,
java.lang.Object[] aLater,
char aMode)
|
void |
getDataPackArray(OhArrayList[] aDpArray,
int[] aNumOfDp)
|
OhTimePoint |
getNecessaryTimeFrom()
|
OhTimePoint |
getNecessaryTimeTo()
|
OhTimePoint |
getNewestDataTime()
|
int |
getNumberOfDataPacks()
|
OhTimePoint |
getOldestDataTime()
|
boolean |
init(java.lang.String aPortName,
int aPortNum)
|
void |
printConnection(java.io.PrintWriter aPw,
java.lang.String aHead)
|
void |
reduceDataPackStock()
|
void |
setDataPackArray()
|
boolean |
setSender(java.lang.Object aSender)
|
クラス ohymosj.OhPort から継承したメソッド |
cPrint, create, getDataPack, getDataPack, registerReceiver |
クラス ohymosj.OhObject から継承したメソッド |
getAbsName, getClassName, getObjectName, getObjectNumber, getOwner, getTopOwner, objCompare, objCompare, objCompare, oPrint, setOwner |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
protected OhSenderPort _sender
A sender which sends datapacks to the current object.
コンストラクタの詳細 |
public OhReceivePort()
その他のメンバ変数に対する処理は引数つきコンストラクタと同じです。 この場合、OhReceivePort.init(String, int) を 用いてメンバ変数を初期化して下さい。
public OhReceivePort(java.lang.String aPortName, int aPortNum) throws OhError
aPortName
- a String
valueaPortNum
- an int
value
OhError
- if an error occurs
メソッドの詳細 |
public abstract java.lang.String dataType()
基底クラス OhPort の抽象メソッドです。 この OhRelayPort でも抽象メソッドとしておきます。 OhRelayPort の派生クラスで受信データパック型を表す文字列を返すように必ず定義して下さい。 例えば、受信データパック型が "double" 型である派生クラスでは、
public String dataaType() { return "double"; }のように定義します。
接続時には、この端子と送信元端子のデータパック型が一致することを確認します。
[RETURN] ・String -> 中継データパック型を表す文字列
Returns a string which expresses the type of datapacks received by the current object. This is a abstract method. This function must be defined in derived classes.
OhPort
内の dataType
String
valuepublic boolean init(java.lang.String aPortName, int aPortNum) throws OhError
Initialization with object name "aPortName" and object number "aPortNum".
OhPort
内の init
aPortName
- a String
valueaPortNum
- an int
value
boolean
value
OhError
- if an error occurspublic boolean setSender(java.lang.Object aSender) throws OhError
基底クラス OhPort の抽象メソッドです。 送信元端子 _sender を aSender に設定し、true を返します。
下記の場合はエラーメッセージを表示し、false を返します。
[ARGUMENT] ・aSender -> Object 型にキャストされた送信元端子。 [RETURN] ・true --> 送信元端子 _sender が正常に設定された場合。 ・false -> aSender が null の場合。 この端子の送信元端子 _sender が設定済みの場合。 この端子と aSender でデータパック型が異なる場合。 [ACCIDENT] ・aSender に OhPort 型変数が格納されていない場合。
Set "_sender" to "aSender" and return "true". When one of the following cases occurs
this function prints an error message and returns "false".
OhPort
内の setSender
aSender
- an Object
value
boolean
value
OhError
- if an error occurspublic boolean canYouSwitch()
OhReceivePort では接続作業後に行なうべき処理は特にありません。 常に true を返します。
[RETURN] ・true -> 常に true を返す。
Because no corresponding work is needed in the OhReceivePort
class,
Switch of the OhReceivePort
class simply returns "false".
Note:
Switch of the OhSenderPort
class is defined differently.
OhPort
内の canYouSwitch
boolean
valuepublic boolean areYouReady()
基底クラス OhPort の抽象メソッドを実装しています。
データパックを受信することができる状態であることを確認します。
つまり、_sender が設定されているかチェックします。
_sender が設定されていれば、_sender からデータパックを受信することができます。
[RETURN] ・true --> _sender が設定済みの場合。 ・false -> _sender が未設定の場合。
Answers whether the current receive port has been connected to some sender or not.
OhPort
内の areYouReady
boolean
valuepublic void setDataPackArray()
基底クラス OhSenderPort の抽象メソッドです。 _sender にデータパック配列を作成するよう命令します。
Orders the sender to create a datapack array.
OhPort
内の setDataPackArray
public OhTimePoint getOldestDataTime()
Returns the data time of the oldest data pack in the data stored in the sender.
OhPort
内の getOldestDataTime
OhTimePoint
valuepublic OhTimePoint getNewestDataTime()
Returns the data time of the newest data pack in the data stored in the sender.
OhPort
内の getNewestDataTime
OhTimePoint
valuepublic int getNumberOfDataPacks()
Returns the number of datapacks stored in the sender.
OhPort
内の getNumberOfDataPacks
int
valuepublic boolean canYouGetData(OhTimePoint aTFrom, OhTimePoint aTTo)
基底クラス OhPort の抽象メソッドです。
_sender に問い合わせて aTFrom 以前から aTTo 以降までのデータパックが受信可能か確認します。 受信可能ならば true を返し、受信不可能なら false を返します。
この受信端子の _owner で計算時の確認作業に用います。
[ARGUMENT] ・aTFrom -> aTFrom 以前からデータパックが受信可能であることを確認する。 ・aTTo ---> aTTo 以降までデータパックが受信可能であることを確認する。 [RETURN] ・true ---> aTFrom 以前から aTTo 以降までのデータパックが中継可能な場合。 ・false --> aTFrom 以前から aTTo 以降までのデータパックが中継不可能な場合。 [ACCIDENT] ・接続前で、_sender が null の場合。 (このメソッドは計算時に頻繁に用いられる可能性があるので敢えて _sender が null でないことを確認しませんでした。) ・_sender に OhPort 型以外の変数が格納されている場合。
Tells whether the data from "aTFrom" to "aTTo" can be obtained or not.
Accident: "_sender" is "null" or not OhPort type.
OhPort
内の canYouGetData
aTFrom
- an OhTimePoint
valueaTTo
- an OhTimePoint
value
boolean
valuepublic boolean canYouGetData(OhTimePoint aTFromTo)
Tells whether the data at "aTFromTo" can be obtained or not.
Accident: "_sender" is "null" or not OhPort type.
OhPort
内の canYouGetData
aTFromTo
- an OhTimePoint
value
boolean
valuepublic void getDataPackArray(OhArrayList[] aDpArray, int[] aNumOfDp)
基底クラス OhPort の抽象メソッドです。
送信元端子 _sender からデータパック配列を受信します。
第一引数 aDpArray の第一要素には Object 型にキャストされた OhDataPack 型変数の配列が格納され、 aNumOfDp の第一要素には aDpArray の要素数が格納されます。
aDpArray 中の受信データパックのデータ記録時刻が連続していることは OhSendPort.dataPackStock(Object) により保証されます。
必要なデータパックが受信可能か否かは canYouGetData(OhTimePoint, OhTimePoint) を用いて確認できます。
[ARGUMENT] ・aDpArray -> 中継データパック配列を第一要素に格納する引数。 ・aNumOfDp -> aDpArray の要素数を第一要素に格納する引数。 [ACCIDENT] ・接続前で _sender が null の場合。 (このメソッドは計算時に頻繁に用いられる可能性があるので敢えて _sender が null でないことを確認しませんでした。) ・_sender に OhPort 型以外の変数が格納されている場合。
Get a data pack array from the sender. After the execution of this function, "aDpArray" stores the data pack array and "aNumOfDp" stores the dimention of "aDpArray".
Accident: "_sender" is "null" or not OhPort type.
OhPort
内の getDataPackArray
aDpArray
- a Vector
valueaNumOfDp
- an int[]
valuepublic boolean getDataPack(java.lang.Object[] aFormer, OhTimePoint _dataTime, java.lang.Object[] aLater, char aMode)
基底クラス OhSenderPort の抽象メソッドです。
時刻を指定して _sender からデータパックを受信します。
aFormer には、データ記録時刻が _dataTime 以前で _dataTime に最も近い収録データパックを受信、格納します。
aLater には、データ記録時刻が _dataTime 以降で _dataTime に最も近い収録データパックを受信、格納します。
aFlag は取得のモードを選択するためのオプションで、下記の通りです。
・"b" aFormer, aLater の両方を必ず受信する。 受信できない場合は、両方とも null に設定する。 ・"f" aLater を受信できなくても、aFormer のみ受信する。 aLater を受信できない場合、null に設定する。 ・"l" aFormer を受信できなくても、aLater のみ取得する。 aFormer を受信できない場合、null に設定する。 ・その他 aFormer, aLater のすくなくとも一方を取得する。 受信できないものは null に設定する。aFlag のデフォルト値は、 "b" です。 また、 引数に aLater を渡さない場合は、 aFlag を f として aFormer のみ受信し、 引数に aFormer を渡さない場合は、 aFlag を l として aLater のみ受信します。 データ記録時刻が丁度 _dataTime であるデータパックが収録されている場合は、 aFormer, aLater ともそれを格納します。 条件を満たすデータパックを取得できない場合、aFormer, aLater は null に設定されます。 データパックを取得できた場合は、true を返します。
[ARGUMENT] ・aFormer ---> _dataTime 以前で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・_dataTime -> 指定時刻 [sec] この時刻に最も近いデータ記録時刻を持つ収録データパックを受信する。 ・aLater ----> _dataTime 以降で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・aMode -----> データパックの受信条件を指定するフラグ。 [RETURN] ・true --> 指定のデータパックを受信できた場合。 ・false -> _dataPackArray が null の場合。 指定のデータパックを受信できない場合。
Get a data pack at specified time "_dataTime". The results are stored in "aFormer" and "aLater".
"aFlag" specifies the search option.
OhPort
内の getDataPack
aFormer
- an Object[]
value_dataTime
- an OhTimePoint
valueaLater
- an Object[]
valueaMode
- a char
value
boolean
valuepublic boolean getDataPack(java.lang.Object[] aFormer, OhTimePoint _dataTime, java.lang.Object[] aLater)
基底クラス OhSenderPort の抽象メソッドです。
時刻を指定して _sender からデータパックを受信します。
aFormer には、データ記録時刻が _dataTime 以前で _dataTime に最も近い収録データパックを受信、格納します。
aLater には、データ記録時刻が _dataTime 以降で _dataTime に最も近い収録データパックを受信、格納します。
aFormer, aLater の両方を必ず受信します。
受信できない場合は、両方とも null に設定されます。
データ記録時刻が丁度 _dataTime であるデータパックが収録されている場合は、
aFormer, aLater ともそれを格納します。
データパックを取得できた場合は、true を返します。
[ARGUMENT] ・aFormer ---> _dataTime 以前で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・_dataTime -> 指定時刻 [sec] この時刻に最も近いデータ記録時刻を持つ収録データパックを受信する。 ・aLater ----> _dataTime 以降で _dataTime に最も近い収録データパックを第一要素に格納する引数。 [RETURN] ・true --> 指定のデータパックを受信できた場合。 ・false -> _dataPackArray が null の場合。 指定のデータパックを受信できない場合。
By all means, Get a data pack at specified time "_dataTime". The results are stored in "aFormer" and "aLater".
aFormer
- an Object[]
value_dataTime
- an OhTimePoint
valueaLater
- an Object[]
value
boolean
valuepublic OhTimePoint getNecessaryTimeFrom()
受信源の送信端子に getNecessaryTimeFrom() 以降 getNecessaryTimeTo() 以前のデータパックを 消去しないように指示するために定義しました。
_owner の OhElement.getNecessaryTimeFrom() を返します。 _owner が null の場合は OhTimePoint.OhTimePointMin を返します。
Returns the "NecessaryTimeFrom" (this) of the owner of the current receive port. You can redefine it in derived classes.
OhPort
内の getNecessaryTimeFrom
OhTimePoint
valuepublic OhTimePoint getNecessaryTimeTo()
受信源の送信端子に getNecessaryTimeFrom() 以降 getNecessaryTimeTo() 以前のデータパックを 消去しないように指示するために定義しました。
_owner の OhElement.getNecessaryTimeTo() を返します。 _owner が null の場合は OhTimePoint.OhTimePointMax を返します。
Returns the "NecessaryTimeTo" (this) of the owner of the current receive port. You can redefine it in derived classes.
OhPort
内の getNecessaryTimeTo
OhTimePoint
valuepublic void calReq() throws OhCannotGetDataError, OhError
Relay the calculation request to the sender.
OhPort
内の calReq
OhCannotGetDataError
- if an error occurs
OhError
- if an error occurspublic void reduceDataPackStock()
OhPort
内の reduceDataPackStock
public void printConnection(java.io.PrintWriter aPw, java.lang.String aHead)
Print the information about the connection to "aPw" with the string "aHead".
OhPort
内の printConnection
aPw
- a PrintWriter
valueaHead
- a String
value
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |