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

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

public class GoodsManager
extends java.lang.Object
implements java.io.Serializable

GoodsをTypeをキーにするHashMapで管理します。 あるTypeのGoodsのインスタンスはGoodsManager内では必ず1つです。 追加の際にはGoodsの一覧を調べ、同じTypeのGoodsは一つにまとめます。 引出しの際には、Goodsのquantityを調べて、引き出すGoodsの量より多ければ 新たに引き出す分のquantityのGoodsを生成して返します。

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

コンストラクタの概要
protected GoodsManager()
           
 
メソッドの概要
 void addGoods(Goods goods)
          Goodsを追加します。
 java.util.Collection getGoodsCollection(GoodsType type)
          引数のTypeのGoodsのリストを返します 存在しない場合、空のリストが返されます
 java.util.Collection getGoodsTypes()
          このGoodsManagerが持つ全ての財の種類を返します
 GoodsQuantity getQuantity(GoodsType type)
          指定された種類の財の量を取得します。
 GoodsQuantity getQuantityRecursively(GoodsType type)
          指定された種類の財の量を取得します。
 Goods removeAllGoods(GoodsType type)
          指定された種類の財をすべて引き出します。
 java.util.Collection removeAllGoodsRecursively(GoodsType type)
          指定された種類の財をすべて引き出します。
 Goods removeGoods(GoodsType type, double quantity)
          指定された種類の財を指定量引き出します。
 java.util.List removeGoodsRecursively(GoodsType type, double quantity)
          指定された種類の財を指定量引き出します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

GoodsManager

protected GoodsManager()
メソッドの詳細

addGoods

public void addGoods(Goods goods)
Goodsを追加します。 GoodsQuantity.getValue()が負の場合、Exceptionを投げます 同じGoodsTypeが見つかった場合、そのGoodsのGoodsQuantityに追加します

パラメータ:
goods - 追加する財

removeGoods

public Goods removeGoods(GoodsType type,
                         double quantity)
指定された種類の財を指定量引き出します。 引き出された結果、GoodsQuantityが0となったらGoodsHashMap内から消滅します 引数のtypeがthis.goodsHashMapに存在しない場合は、Exceptionが投げられます。 指定された種類の財が指定量存在しない場合は、Exceptionが投げられます。

パラメータ:
type - 引き出す財の種類
quantity - 引き出す財の量
戻り値:
Goods 引き出された財

removeAllGoods

public Goods removeAllGoods(GoodsType type)
指定された種類の財をすべて引き出します。 指定された種類の財が存在しない場合は、Exceptionが投げられます。

パラメータ:
type - 引き出す財の種類
戻り値:
Goods 引き出された財

getQuantity

public GoodsQuantity getQuantity(GoodsType type)
指定された種類の財の量を取得します。 指定された種類の財が無ければ0を表すGoodsQuantityインスタンスが返されます。

パラメータ:
type - 調べる財の種類
戻り値:
GoodsQuantity 財の量

getGoodsTypes

public java.util.Collection getGoodsTypes()
このGoodsManagerが持つ全ての財の種類を返します

戻り値:
Collection GoodsTypeのリスト

removeGoodsRecursively

public java.util.List removeGoodsRecursively(GoodsType type,
                                             double quantity)
指定された種類の財を指定量引き出します。 指定された種類に下位種類があれば再帰的に検索します。 指定された種類の財が指定量存在しない場合は、Exceptionが投げられます。

パラメータ:
type - 引き出す財の種類
quantity - 引き出す財の量
戻り値:
Goods 引き出された財

removeAllGoodsRecursively

public java.util.Collection removeAllGoodsRecursively(GoodsType type)
指定された種類の財をすべて引き出します。 指定された種類に下位種類があれば再帰的に検索します。 指定された種類の財が存在しない場合は、removeGoodsCollection()よりExceptionが投げられます。

パラメータ:
type - 引き出す財の種類
戻り値:
Goods 引き出された財

getQuantityRecursively

public GoodsQuantity getQuantityRecursively(GoodsType type)
指定された種類の財の量を取得します。 指定された種類に下位種類があれば再帰的に検索します。 指定された種類の財が無ければ0を表すGoodsQuantityインスタンスが返されます。

パラメータ:
type - 調べる財の種類
戻り値:
GoodsQuantity 財の量の合計

getGoodsCollection

public java.util.Collection getGoodsCollection(GoodsType type)
引数のTypeのGoodsのリストを返します 存在しない場合、空のリストが返されます