概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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内では必ず１つです。 追加の際には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のリストを返します 存在しない場合、空のリストが返されます

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド