org.boxed_economy.besp.model.fmfw
クラス Channel

java.lang.Object
  拡張org.boxed_economy.besp.model.fmfw.FmFwObject
      拡張org.boxed_economy.besp.model.fmfw.Channel
すべての実装インタフェース:
java.io.Serializable

public final class Channel
extends FmFwObject

agentからgoodsを送るためにrelationから生成されるChannelを定義します。 sendGoods()を実行することによって、送信先のBehaviorへChannelEventが送られます。 これは、どちらのBehaviorからも実行できるため双方向にChannelEventを送ることができます。 ただし、Channelでは、区別のためChannel先とChannel元のBehaviorを持つことにします。 やりとりされたGoodsは分割して、格納されClose時にTradeEventとして送られます。

バージョン:
$Id: Channel.java,v 1.1 2004/03/21 12:07:47 macchan Exp $
作成者:
macchan
関連項目:
直列化された形式

入れ子クラスの概要
 
クラス org.boxed_economy.besp.model.fmfw.FmFwObject から継承した入れ子クラス
FmFwObject.InstanceCounter
 
コンストラクタの概要
protected Channel(Relation parentRelation, Behavior behaviorA, Behavior behaviorB, boolean keep)
          コンストラクタです。
 
メソッドの概要
 void close()
          このChannelを閉じます。
 Behavior getBehaviorA()
          Channelの元のBehaviorを返します。
 Behavior getBehaviorB()
          Channelの先のBehaviorを返します。
 Relation getParentRelation()
          このChannelを生成したRelationを返します。
 boolean isClosed()
          Returns the closed.
 boolean isKeep()
          ChannelがBehaviorによってKeepされるかを返します。
 Goods receiveGoods(Behavior behavior)
          ChannelからGoodsを受け取るメソッドです。
 void sendGoods(Goods goods, Behavior behavior)
          Goods送信のために実行されるメソッドです。
 
クラス org.boxed_economy.besp.model.fmfw.FmFwObject から継承したメソッド
finalize, getInstanceCounters
 
クラス java.lang.Object から継承したメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Channel

protected Channel(Relation parentRelation,
                  Behavior behaviorA,
                  Behavior behaviorB,
                  boolean keep)
コンストラクタです。

パラメータ:
parentRelation - このChannelを生み出したRelation
メソッドの詳細

getParentRelation

public Relation getParentRelation()
このChannelを生成したRelationを返します。

戻り値:
Relation このChannelを生成したRelation

getBehaviorB

public Behavior getBehaviorB()
Channelの先のBehaviorを返します。

戻り値:
AbstractBehavior channelの先のBehavior

getBehaviorA

public Behavior getBehaviorA()
Channelの元のBehaviorを返します。

戻り値:
AbstractBehavior channelの元のBehavior

isKeep

public boolean isKeep()
ChannelがBehaviorによってKeepされるかを返します。

戻り値:
Channel Keepされるかの真偽

isClosed

public boolean isClosed()
Returns the closed.

戻り値:
boolean

close

public void close()
このChannelを閉じます。Behaviorから呼ばれます。 この時、TradeEventが送られます。


receiveGoods

public Goods receiveGoods(Behavior behavior)
ChannelからGoodsを受け取るメソッドです。 ChannelEventが送られたBehaviorから呼ばれます。 このメソッドが呼ばれると、ChannelのGoodsは格納されます。

パラメータ:
behavior - 受け取るBehavior
戻り値:
Goods 送信されたGoods

sendGoods

public void sendGoods(Goods goods,
                      Behavior behavior)
Goods送信のために実行されるメソッドです。 第2引数のBehaviorを調べて、Channel元であればChannel先に、 Channel先であればChannel元に送ります。 どちらでもなければ、Exceptionを返します。