|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectohymosj.OhObject
ohymosj.OhPort
ohymosj.OhSenderPort
ohymosj.OhRelayPort
基本型中継端子モデルを表すクラスです。
抽象クラスです。
クラス OhRelayPort では、
を記憶し、
を定義しました。
送信元端子とは、この中継端子にデータを送ってくる側の端子です。
送信先端子とは、この中継端子から送られるデータを受けとる側の端子です。
OhRelayPort に接続できる送信元端子は1つだけです。
OhRelayPort には複数の送信先端子を接続できます。
The OhRelayPort class is a model of relay ports.
The OhRelayPort has a instance variable "_sender". "_sender" is used to store the sender which sends data packs to the current port.
Member functions for
Only one port can be connected to the port for receiving data packs. More than one ports can be connected to the ports which sending data packs.
フィールドの概要 | |
protected OhSenderPort |
_sender
|
クラス ohymosj.OhSenderPort から継承したフィールド |
_bufferList, _commentString, _numberOfReceivers, _receiverArray |
クラス ohymosj.OhObject から継承したフィールド |
_className, _objectName, _objectNumber, _owner, NEWLINE |
コンストラクタの概要 | |
OhRelayPort()
|
|
OhRelayPort(java.lang.String aPortName,
int aPortNum)
|
メソッドの概要 | |
boolean |
areYouReady()
|
void |
calReq()
|
boolean |
canYouGetData(OhTimePoint aTFrom,
OhTimePoint aTTo)
|
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)
|
java.util.Vector |
getDctVec()
|
OhTimePoint |
getNewestDataTime()
|
int |
getNumberOfDataPacks()
|
OhTimePoint |
getOldestDataTime()
|
boolean |
init(java.lang.String aPortName,
int aPortNum)
|
void |
printConnection(java.io.PrintWriter aPw)
|
void |
printConnection(java.io.PrintWriter aPw,
java.lang.String aHead)
|
void |
reduceDataPackStock()
|
void |
setDataPackArray()
|
boolean |
setSender(java.lang.Object aSender)
|
クラス ohymosj.OhSenderPort から継承したメソッド |
canYouSwitch, getCommentString, getNecessaryTimeFrom, getNecessaryTimeTo, registerReceiver, setCommentString |
クラス ohymosj.OhPort から継承したメソッド |
canYouGetData, cPrint, create, getDataPack, getDataPack |
クラス 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
The sender which sends data packs to this OhRelayPort casted to type OhSenderPort.
コンストラクタの詳細 |
public OhRelayPort()
その他のメンバ変数に対する処理は引数つきコンストラクタと同じです。 この場合、OhRelayPort.init(String, int) を 用いてメンバ変数を初期化して下さい。
public OhRelayPort(java.lang.String aPortName, int aPortNum) throws OhError
aPortName
- a String
valueaPortNum
- an int
value
メソッドの詳細 |
public abstract java.lang.String dataType()
基底クラス OhSenderPort の抽象メソッドです。
この OhRelayPort でも抽象メソッドとしておきます。 OhRelayPort の派生クラスで中継データパック型を表す文字列を返すように必ず定義して下さい。
例えば、中継データパック型が "double" 型である派生クラスでは、
public String dataaType() { return "double"; }のように定義します。
接続時には、接続する端子とこの端子のデータパック型が一致することを確認します。
[RETURN] ・String -> 中継データパック型を表す文字列
Returns the string which shows the type of data packs which are treated by this OhRelayPort.
In derived classes of this class OhRelayPort, this funstion should be defined so that it returnts the datapack type string.
OhSenderPort
内の dataType
String
valuepublic boolean init(java.lang.String aPortName, int aPortNum) throws OhError
Initialization.
OhSenderPort
内の init
aPortName
- a String
valueaPortNum
- an int
value
boolean
value
OhError
public java.util.Vector getDctVec()
Returns the data connection type of the "_sender".
OhSenderPort
内の getDctVec
Vector
valuepublic boolean setSender(java.lang.Object aSender) throws OhError
送信元端子 _sender を aSender に設定し、true を返します。
下記の場合はエラーメッセージを表示し、false を返します。
[ARGUMENT] ・aSender -> Object 型にキャストされた送信元端子。 [RETURN] ・true --> 送信元端子 _sender が正常に設定された場合。 ・false -> aSender が null の場合。 この端子の送信元端子 _sender が設定済みの場合。 この端子と aSender でデータパック型が異なる場合。 [ACCIDENT] ・aSender に OhPort 型変数が格納されていない場合。
Sets the sender of this OhRelayPort to aSender (arg).
[in] aSender - the sender casted to Object.
Returns "true" if the setting was successfull. For the following cases, it returns "false".
OhPort
内の setSender
aSender
- an Object
value
boolean
value
OhError
- if an error occurspublic boolean areYouReady()
データパックを中継可能な状態であることを確認します。 _sender が設定されていれば _sender からデータパックを中継できます。 _numberOfReceivers が 0 以上ならば _receiverArray が設定済みで、 送信先端子にデータパックを送信できます。
[RETURN] ・true --> _sender, _receiverArray が設定済みの場合。 ・false -> _sender, _receiverArray の少なくとも一方が未設定の場合。
Reports whether this OhRelayPort is ready or not. When "_sender" and "_numberOfReceivers" have been defined, it returns true, otherwise it returns false.
OhSenderPort
内の areYouReady
boolean
valuepublic void setDataPackArray()
基底クラス OhSenderPort の抽象メソッドです。 _sender にデータパック配列を設定するよう命令します。
Orders the sender to create a data pack array.
OhSenderPort
内の setDataPackArray
public OhTimePoint getOldestDataTime()
Returns the oldest data time of the data stocked in the sender.
OhPort
内の getOldestDataTime
OhTimePoint
valuepublic OhTimePoint getNewestDataTime()
Returns the newest data time of the data stocked in the sender.
OhPort
内の getNewestDataTime
OhTimePoint
valuepublic int getNumberOfDataPacks()
Returns the number of data packs which stored in the sender.
OhPort
内の getNumberOfDataPacks
int
valuepublic boolean canYouGetData(OhTimePoint aTFrom, OhTimePoint aTTo)
基底クラス OhSenderPort の抽象メソッドです。
_sender に問い合わせて aTFrom 以前から aTTo 以降までのデータパックが受信可能か確認します。 受信可能ならば true を返し、受信不可能なら false を返します。
このメソッドは、送信先端子の canYouGetData(OhTimePoint, OhTimePoint) から呼び出されます。 これにより、送信先端子でデータパックを受信できるか確認できます。
[ARGUMENT] ・aTFrom -> aTFrom 以前からデータパックが受信可能であることを確認する。 ・aTTo ---> aTTo 以降までデータパックが受信可能であることを確認する。 [RETURN] ・true ---> aTFrom 以前から aTTo 以降までのデータパックが中継可能な場合。 ・false --> aTFrom 以前から aTTo 以降までのデータパックが中継不可能な場合。 [ACCIDENT] ・接続前で、_sender が null の場合。 (このメソッドは計算時に頻繁に用いられる可能性があるので敢えて _sender が null でないことを確認しませんでした。) ・_sender に OhPort 型以外の変数が格納されている場合。
Reports whether this OhRelayPort can get the data from aTFrom (arg) to aTTo (arg).
[in] aTFrom - start time [in] aTTo - end time
OhSenderPort
内の canYouGetData
aTFrom
- an OhTimePoint
valueaTTo
- an OhTimePoint
value
boolean
valuepublic void calReq() throws OhCannotGetDataError, OhError
The calculation request to a relay port is transmitted to a send port.
OhPort
内の calReq
OhCannotGetDataError
- if an error occurs
OhError
- if an error occurspublic void getDataPackArray(OhArrayList[] aDpArray, int[] aNumOfDp)
基底クラス OhSenderPort の抽象メソッドです。
送信元端子 _sender からデータパック配列を受信します。
第一引数 aDpArray の第一要素には Object 型にキャストされた OhDataPack 型変数の配列が格納され、 aNumOfDp の第一要素には aDpArray の要素数が格納されます。
このメソッドは、送信先端子の getDataPackArray から呼び出されます。 これにより、送信先端子でデータパック配列を受信できます。
[ARGUMENT] ・aDpArray -> 中継データパック配列を第一要素に格納する引数。 ・aNumOfDp -> aDpArray の要素数を第一要素に格納する引数。 [ACCIDENT] ・接続前で _sender が null の場合。 (このメソッドは計算時に頻繁に用いられる可能性があるので敢えて _sender が null でないことを確認しませんでした。) ・_sender に OhPort 型以外の変数が格納されている場合。
Get datapack array aDpArray (arg) and the number of datapacks aNumOfDp (arg) from the sender.
OhSenderPort
内の getDataPackArray
aDpArray
- an OhArrayList[]
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 を返します。 このメソッドは送信先端子の getDataPack(Object[], OhTimePoint, Object[], char) から呼び出されます。 これにより送信先端子でデータパックを受信できます。
[ARGUMENT] ・aFormer ---> _dataTime 以前で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・_dataTime -> 指定時刻 [sec] この時刻に最も近いデータ記録時刻を持つ収録データパックを受信する。 ・aLater ----> _dataTime 以降で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・aMode -----> データパックの受信条件を指定するフラグ。 [RETURN] ・true --> 指定のデータパックを受信できた場合。 ・false -> _dataPackArray が null の場合。 指定のデータパックを受信できない場合。
Get two datapacks aFormer and aLater. aFormer is the newest datapack before time_dataTime. aLater is the oldest datapack after time _dataTime. aMode specifies the option
When the datapack(s) specified by aMode can be got, it returns "true", otherwise "false".
[out] aFormer --- pointer to a datapack [in] _dataTime - specified time [out] aLater ---- pointer to a datapack [in] aMode ----- option to get pointers to datapacks
OhSenderPort
内の 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 を返します。 このメソッドは送信先端子の getDataPack(Object[], OhTimePoint, Object[], char) から呼び出されます。 これにより送信先端子でデータパックを受信できます。
[ARGUMENT] ・aFormer ---> _dataTime 以前で _dataTime に最も近い収録データパックを第一要素に格納する引数。 ・_dataTime -> 指定時刻 [sec] この時刻に最も近いデータ記録時刻を持つ収録データパックを受信する。 ・aLater ----> _dataTime 以降で _dataTime に最も近い収録データパックを第一要素に格納する引数。 [RETURN] ・true --> 指定のデータパックを受信できた場合。 ・false -> _dataPackArray が null の場合。 指定のデータパックを受信できない場合。
By all means, Get two datapacks aFormer and aLater.
aFormer
- an Object[]
value_dataTime
- an OhTimePoint
valueaLater
- an Object[]
value
boolean
valuepublic void reduceDataPackStock()
送信元端子 _sender に不要データパックを消去するよう指示します。
この中継端子の _owner で計算終了時に用い、不要メモリを解放します。
このメソッドは送信先端子の getDataPack(Object[], OhTimePoint, Object[], char) から呼び出されます。 これにより送信先端子でデータパックを受信できます。
Forwards the message "reduceDataPackStock()" to the sender.
OhSenderPort
内の reduceDataPackStock
public void printConnection(java.io.PrintWriter aPw, java.lang.String aHead)
接続情報を出力します。
Prints the information about connection of this Relay_port. This function is used for debugging.
OhSenderPort
内の printConnection
aPw
- a PrintWriter
valueaHead
- a String
valuepublic void printConnection(java.io.PrintWriter aPw)
接続情報を出力します。
Prints the information about connection of this Relay_port. This function is used for debugging.
aPw
- a PrintWriter
value
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |