|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectohymosj.OhObject
ohymosj.OhPort
ohymosj.OhSenderPort
ohymosj.OhSendPort
基本型送信端子モデル OhSendPort を定義しています。
基本型送信端子モデルは抽象クラスです。
基本型送信端子モデル OhSendPort は、自分で持っているデータを送信する端子であり、
データを送信する端子
OhSenderPort
の一種です。
別の端子からもらったデータを送信する端子は中継端子
OhRelayPort
です。
クラス OhSendPort では、
OhSendPort の送信機能は、基底クラス
OhSenderPort
で定義済みです。
OhSendPort には、複数の送信先端子を接続することができます。
を記憶し、
を定義しました。
OhSendPort; Abstract class for creating send ports.
Fields _dataPackArray, _numberOfDataPacks and some methods to store datapacks are defined.
フィールドの概要 | |
protected OhArrayList |
_dataPackArray
|
protected java.util.Vector |
_dctVec
|
protected int |
_numberOfDataPacks
|
protected boolean |
_protectPastDataFlag
|
クラス ohymosj.OhSenderPort から継承したフィールド |
_bufferList, _commentString, _numberOfReceivers, _receiverArray |
クラス ohymosj.OhObject から継承したフィールド |
_className, _objectName, _objectNumber, _owner, NEWLINE |
コンストラクタの概要 | |
OhSendPort()
|
|
OhSendPort(java.lang.String aPortName,
int aPortNum)
|
|
OhSendPort(java.lang.String aPortName,
int aPortNum,
java.util.Vector aDctVec)
|
メソッドの概要 | |
boolean |
areYouReady()
|
void |
calReq()
|
boolean |
canYouGetData(OhTimePoint aTFrom,
OhTimePoint aTTo)
|
boolean |
canYouSwitch()
|
void |
clearDataPack()
|
void |
dataPackStock(java.lang.Object aDataPack)
|
abstract java.lang.String |
dataType()
|
void |
forgetDataPackStock(OhTimePoint aTFrom)
|
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)
|
boolean |
init(java.lang.String aPortName,
int aPortNum,
java.util.Vector aDctVec)
|
void |
reduceDataPackStock()
|
void |
saveSendPortStock(java.io.PrintWriter aPw)
|
abstract void |
sendByString(java.lang.String aDstr)
|
void |
setDataPackArray()
|
void |
setDctVec(java.util.Vector aDctVec)
|
boolean |
setProtectPastDataFlag(boolean aFlag)
|
クラス ohymosj.OhSenderPort から継承したメソッド |
getCommentString, getNecessaryTimeFrom, getNecessaryTimeTo, printConnection, registerReceiver, setCommentString |
クラス ohymosj.OhPort から継承したメソッド |
canYouGetData, cPrint, create, getDataPack, getDataPack, setSender |
クラス 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 OhArrayList _dataPackArray
An array for sending datapacks.
protected int _numberOfDataPacks
The number of elements stored in "_dataPackArray".
protected boolean _protectPastDataFlag
This field is designed to use to control the protect mode of past "_dataPack".
protected java.util.Vector _dctVec
この OhSendPort クラスが供給するデータのデータ補間型ベクトルを メンバ変数として記憶します。
Data connection type vector of data provided this OhSendPort.
コンストラクタの詳細 |
public OhSendPort()
その他のメンバ変数に対する処理は引数つきコンストラクタと同じです。 この場合、OhSendPort.init(String, int) を 用いてメンバ変数を初期化して下さい。
public OhSendPort(java.lang.String aPortName, int aPortNum) throws OhError
aPortName
- a String
valueaPortNum
- an int
value
public OhSendPort(java.lang.String aPortName, int aPortNum, java.util.Vector aDctVec) throws OhError
aPortName
- a String
valueaPortNum
- an int
valueaDctVec
- a Vector
value
メソッドの詳細 |
public abstract java.lang.String dataType()
基底クラス OhSenderPort の抽象メソッドです。 このクラス OhSendPort でも抽象メソッドとしておきます。
Returns the string which shows the type of the datapack sent by the current port.
OhSenderPort
内の dataType
String
valuepublic abstract void sendByString(java.lang.String aDstr)
抽象メソッドです。 aDstr (arg) に格納されたデータ文字列からデータパックを作成し、収録します。
A data pack is created and recorded from the data character sequence stored in "aDstr".
aDstr
- a 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 boolean init(java.lang.String aPortName, int aPortNum, java.util.Vector aDctVec) throws OhError
Initialization.
aPortName
- a String
valueaPortNum
- an int
valueaDctVec
- a Vector
value
boolean
value
OhError
public void setDctVec(java.util.Vector aDctVec)
Sets the data connection type vector.
aDctVec
- a Vector
valuepublic java.util.Vector getDctVec()
This function is decleared abstract method in OhSenderPort. Implemented in this class. Returns the data connection vector which is a instance variable.
OhSenderPort
内の getDctVec
Vector
valuepublic boolean canYouSwitch() throws OhError
このメソッドは以下を実行します。
まず、 OhSenderPort.canYouSwitch() を実行します。 具体的には、_receiverArray を作成します。 ここで戻り値が false ならば、false を返します。
戻り値が true なら、_dataPackArray を new することによりメモリを確保し、 _numberOfDataPacks の値を -1 から 0 に変換し、true を返します。
[RETURN] ・true --> canYouSwitch() が正常に実行できた場合。 ・false -> _receivePortArray が作成済みの場合。 _dataPackArray が作成済みの場合。
Preparation of "_dataPackArray". That is, "_numberOfDataPacks" is set as 0 from -1.
OhSenderPort
内の canYouSwitch
boolean
value
OhError
- if an error occurspublic boolean areYouReady()
基底クラス OhSenderPort の抽象メソッドです。
データパックを送信可能な状態であることを確認します。 _receiverArray が作成済みで、データパック収録用の _bufferList が存在すれば、 データパックを収録、送信できます。
[RETURN] ・true --> _sender が null で、データパック収録用 _bufferList が存在する場合。 または、_sender が設定されている場合。 ・false -> _sender が null で、データパック収録用 _bufferList が存在しない場合。
Checks before calculation.
OhSenderPort
内の areYouReady
boolean
valuepublic void calReq() throws OhCannotGetDataError, OhError
Transer the calculation request to the owner.
OhPort
内の calReq
OhCannotGetDataError
- if an error occurs
OhError
- if an error occurspublic void dataPackStock(java.lang.Object aDataPack)
最新の収録データパックと aDataPack (arg) のデータ記録時刻を比較し、 aDataPack の方が新しければ aDataPack を _bufferList に収録します。
同時刻の場合や aDataPack の方が古い場合は aDataPack を収録しません。 例えば不連続判断が不要な場合などは派生クラスで再定義して下さい。
[in] aDataPack : 送信するデータパックを Object 型にキャストしたもの。
Stocks "_bufferList" if the data time of "aDataPack" is newer
than the data time of the newest datapack stored in "_bufferList.
Otherwise the "_bufferList" is not included into "_bufferList".
[in] "aDataPack": a datapack to be stocked. It must be casted as OhObject
.
aDataPack
- an Object
valuepublic void setDataPackArray()
基底クラス OhSenderPort の抽象メソッドです。
実際には、 _dataPackArray の要素数を _numberOfDataPacks に設定するだけです。
Makes data pack array.
OhSenderPort
内の setDataPackArray
public OhTimePoint getOldestDataTime()
Returns the oldest data time.
OhPort
内の getOldestDataTime
OhTimePoint
valuepublic OhTimePoint getNewestDataTime()
Returns the newest data time.
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 の抽象メソッドです。 このクラス OhSendPort で実装します。
aTFrom 以前から aTTo 以降までのデータパックが収録されている場合 true を返し、 収録されていない場合 false を返します。
まず、_dataPackArray に収録されている場合 true を返します。 収録されていない場合は、更に _bufferList に収録されているか調べ、 _bufferList に収録されていれば _dataPackArray を更新して true を返します。 収録されていない場合 false を返します。
[ARGUMENT] ・aTFrom -> aTFrom 以前からデータパックが収録されていることを確認する。 ・aTTo ---> aTTo 以降までデータパックが収録されていることを確認する。 [RETURN] ・true ---> aTFrom 以前から aTTo 以降までのデータパックが収録されている場合。 ・false --> aTFrom 以前から aTTo 以降までのデータパックが収録されていない場合。
Checks the data time recorded.
OhSenderPort
内の canYouGetData
aTFrom
- an OhTimePoint
valueaTTo
- an OhTimePoint
value
boolean
valuepublic void getDataPackArray(OhArrayList[] aDpArray, int[] aNumOfDp)
基底クラス OhSenderPort の抽象メソッドです。
引数にメンバ変数 _dataPackArray, _numberOfDataPacks を格納します。
Sends the datapack array.
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 が null でない場合、_sender に getDataPack() を実行させます。 この時、引数はそのまま渡します。
_sender が null の場合、_dataPackArray を検索して以下の処理を行ないます。
aFormer には、データ記録時刻が _dataTime 以前で _dataTime に最も近い 収録データパックを取得し、格納します。
aLater には、データ記録時刻が _dataTime 以降で _dataTime に最も近い 収録データパックを取得し、格納します。
データ記録時刻が丁度 _dataTime であるデータパックが収録されている場合は、 aFormer, aLater ともそれを格納します。
条件を満たすデータパックを取得できない場合、aFormer, aLater は null に設定されます。
aMode は取得モードを選択するためのオプションで、下記の通りです。
aMode のデフォルト値は 'b' です。 多重定義したので、 引数に aLater を渡さない場合は aMode を 'f' として aFormer のみを取得し、 引数に aFormer を渡さない場合は aMode を 'l' として aLater のみを取得します。
Sends the 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 が null でない場合、_sender に getDataPack() を実行させます。 この時、引数はそのまま渡します。
_sender が null の場合、_dataPackArray を検索して以下の処理を行ないます。
aFormer には、データ記録時刻が _dataTime 以前で _dataTime に最も近い 収録データパックを取得し、格納します。
aLater には、データ記録時刻が _dataTime 以降で _dataTime に最も近い 収録データパックを取得し、格納します。
データ記録時刻が丁度 _dataTime であるデータパックが収録されている場合は、 aFormer, aLater ともそれを格納します。
aFormer, aLater の両方を必ず取得します。取得できない場合は両方とも null に設定します。
Sends the datapacks.
aFormer
- an Object[]
value_dataTime
- an OhTimePoint
valueaLater
- an Object[]
value
boolean
valuepublic void reduceDataPackStock()
基底クラス OhSenderPort の抽象メソッドです。
OhSendPort.getNecessaryTimeFrom() より前の収録データパックを _bufferList から消去し、 _dataPackArray, _numberOfDataPacks を更新します。
Deletion of an unnecessary datapacks.
OhSenderPort
内の reduceDataPackStock
public void forgetDataPackStock(OhTimePoint aTFrom)
aTFrom (arg) より前の収録データパックを _bufferList から消去し、 _dataPackArray, _numberOfDataPacks を更新します。
Delete past datapack before "aTFrom", and renew "_dataPackArray" and "_numberOfDataPacks".
aTFrom
- an OhTimePoint
valuepublic void clearDataPack()
_bufferList の全収録データパックを消去し、_dataPackArray を消去します。 その後、_dataPackArray は null に、_numberOfDataPacks は -1 に設定されます。
Deletion of all recorded datapacks.
public boolean setProtectPastDataFlag(boolean aFlag)
Sets "_protectPastDataFlag".
aFlag
- a boolean
value
boolean
valuepublic void saveSendPortStock(java.io.PrintWriter aPw)
収録しているデータパックを出力ストリーム aPw で指定されるファイルに書き込みます。
データはすべて ( ... ) のように括弧で囲みます。 最初のデータは、収録しているデータパックの個数です。 データパックの個数が正なら、 そのあとにデータパックを文字列に変換し、括弧で囲んだものを書き込みます。
Saves the recorded datapacks at the file, "aPw".
aPw
- a PrintWriter
value
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |