kinugasa.contents.resource
クラス Storage<T extends Nameable>

java.lang.Object
  上位を拡張 kinugasa.contents.resource.Storage<T>
型パラメータ:
T - このストレージが使用する命名可能なオブジェクトを指定します。
すべての実装されたインタフェース:
java.lang.Iterable<T>
直系の既知のサブクラス:
CharSetStorage, ChipAttributeStorage, ChipSet, ChipSetStorage, CloseEventStorage, CMDArgs, DynamicStorage, ImagePainterStorage, Status, VehicleStorage, XMLAttributeStorage

public class Storage<T extends Nameable>
extends java.lang.Object
implements java.lang.Iterable<T>

Kinugasa : Storage : アルゴリズムなどの命名可能なオブジェクトを格納するマップです.
このクラスは、Nameableを実装したクラスをHashMapに登録し、用意にアクセスできるようにします。
ストレージには、同じ名前のオブジェクトを登録することは出来ません。 ストレージの容量は、自動的に拡大されます。

ゲーム中、1つの場所にNameableの実装を保存したい場合は、 このクラスを継承することで、唯一の保存領域を作成することが出来ます。
このクラスは、シリアライズ可能ではありません。そのような機能は、サブクラスで 定義する必要があります。

バージョン:
1.0.0 - 2012/11/18_0:14:31
, 1.0.2 - 2013/01/12_22:16:16
, 1.1.0 - 2013/02/19_00:49
, 1.1.2 - 2013/04/13_19:31
, 2.0.0 - 2013/04/20_17:57
作成者:
Dra0211

フィールドの概要
private  java.util.HashMap<java.lang.String,T> map
          Tを保管するマップです.
 
コンストラクタの概要
Storage()
          新しいストレージを作成します.
Storage(int initialSize)
          新しいストレージを作成します.
 
メソッドの概要
 void add(T val)
          新しいオブジェクトをマップに追加します.
 void addAll(java.util.Collection<? extends T> values)
          新しいオブジェクトをマップに追加します.
 void addAll(T... values)
          新しいオブジェクトをマップに追加します.
 java.util.List<T> asList()
          このストレージに追加されているオブジェクトをすべて取得します.
 void clear()
          マップからすべてのオブジェクトを削除します.
 boolean contains(java.lang.String key)
          指定した名前を持つオブジェクトが格納されているかを調べます.
 boolean contains(T obj)
          指定したオブジェクトが格納されているかを調べます.
 boolean containsAll(java.lang.String... keys)
          指定した名前を持つオブジェクトが、すべて格納されているかを調べます.
 T get(java.lang.String key)
          指定した名前のオブジェクトを取得します.
 java.util.Collection<T> getAll()
          このストレージに追加されているオブジェクトをすべて取得します.
 T getIfContains(java.lang.String key)
          指定したキーの要素が含まれている場合に、それを取得します.
 java.util.Map<java.lang.String,T> getProperties(java.lang.String... names)
          指定した名前を持つオブジェクトを新しいマップに格納して返します.
 boolean isEmpty()
          マップの要素数が空であるかを調べます.
 java.util.Iterator<T> iterator()
          全ての要素を参照できるイテレータを返します.
 void printAll(java.io.PrintStream stream)
          現在保持している全てのオブジェクトをストリームに出力します.
 void printAll(java.io.PrintStream stream, boolean valueOut)
          現在保持している全てのオブジェクトをストリームに出力します.
 void put(T val)
          オブジェクトを、上書きで追加します.
 void putAll(java.util.Collection<? extends T> values)
          複数のオブジェクトを上書きで追加します.
 void putAll(T... values)
          複数のオブジェクトを上書きで追加します.
 void remove(java.lang.String key)
          指定した名前を持つオブジェクトをマップから削除します.
 void remove(T val)
          オブジェクトをマップから削除します.
 void removeAll(java.util.Collection<? extends T> values)
          オブジェクトをマップから削除します.
 void removeAll(java.lang.String... keys)
          指定した名前を持つオブジェクトをマップから削除します.
 void removeAll(T... values)
          オブジェクトをマップから削除します.
 int size()
          マップに追加されているオブジェクトの数を取得します.
 java.lang.String toString()
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

map

private java.util.HashMap<java.lang.String,T extends Nameable> map
Tを保管するマップです.

コンストラクタの詳細

Storage

public Storage()
新しいストレージを作成します.


Storage

public Storage(int initialSize)
新しいストレージを作成します.

パラメータ:
initialSize - マップの初期容量を指定します。
メソッドの詳細

get

public T get(java.lang.String key)
                       throws NameNotFoundException
指定した名前のオブジェクトを取得します.

パラメータ:
key - 取得するオブジェクトの名前を指定します。
戻り値:
指定した名前を持つオブジェクトを返します。
例外:
NameNotFoundException - 存在しない名前を指定した場合に投げられます。

getIfContains

public T getIfContains(java.lang.String key)
指定したキーの要素が含まれている場合に、それを取得します.

パラメータ:
key - 取得するオブジェクトのキーを指定します。
戻り値:
指定したキーのオブジェクトが含まれていればそれを、含まれていなければnullを返します。

getAll

public java.util.Collection<T> getAll()
このストレージに追加されているオブジェクトをすべて取得します. このメソッドの戻り値は参照ではありません。新しく作成されたコレクションです。

戻り値:
保管されているすべてのオブジェクトのコレクションを返します。コレクションに格納される順番は ストレージに追加された順番と一致しません。

asList

public java.util.List<T> asList()
このストレージに追加されているオブジェクトをすべて取得します. このメソッドの戻り値は参照ではありません。新しく作成されたリストです。

戻り値:
保管されているすべてのオブジェクトのリストを返します。リストに格納される順番は ストレージに追加された順番と一致しません。

contains

public boolean contains(java.lang.String key)
指定した名前を持つオブジェクトが格納されているかを調べます.

パラメータ:
key - 検索するオブジェクトの名前を指定します。
戻り値:
指定した名前のオブジェクトが含まれている場合はtrueを返します。

containsAll

public boolean containsAll(java.lang.String... keys)
指定した名前を持つオブジェクトが、すべて格納されているかを調べます.

パラメータ:
keys - 検索するオブジェクトの名前を指定します。
戻り値:
指定した名前が全て含まれている場合に限り、trueを返します。

contains

public boolean contains(T obj)
指定したオブジェクトが格納されているかを調べます.

パラメータ:
obj - 検索するオブジェクトを指定します。
戻り値:
指定したオブジェクトが含まれている場合はtrueを返します。

add

public void add(T val)
         throws DuplicateNameException
新しいオブジェクトをマップに追加します.

パラメータ:
val - 追加するオブジェクトを指定します。
例外:
DuplicateNameException - valの名前が既に使用されているときに投げられます。

addAll

public void addAll(T... values)
            throws DuplicateNameException
新しいオブジェクトをマップに追加します.

パラメータ:
values - 追加するオブジェクトを指定します。
例外:
DuplicateNameException - valの名前が既に使用されているときに投げられます。

addAll

public void addAll(java.util.Collection<? extends T> values)
            throws DuplicateNameException
新しいオブジェクトをマップに追加します.

パラメータ:
values - 追加するオブジェクトを指定します。
例外:
DuplicateNameException - valの名前が既に使用されているときに投げられます。

put

public void put(T val)
オブジェクトを、上書きで追加します. このメソッドは同じ名前を持つオブジェクトが登録されている場合に上書きします。

パラメータ:
val - 追加するオブジェクトを指定します。

putAll

public void putAll(T... values)
複数のオブジェクトを上書きで追加します.

パラメータ:
values - 追加するオブジェクトを指定します。

putAll

public void putAll(java.util.Collection<? extends T> values)
複数のオブジェクトを上書きで追加します.

パラメータ:
values - 追加するオブジェクトを指定します。

remove

public void remove(java.lang.String key)
指定した名前を持つオブジェクトをマップから削除します.

パラメータ:
key - 削除するオブジェクトの名前を指定します。

remove

public void remove(T val)
オブジェクトをマップから削除します.

パラメータ:
val - 削除するオブジェクトを指定します。

removeAll

public void removeAll(java.lang.String... keys)
指定した名前を持つオブジェクトをマップから削除します.

パラメータ:
keys - 削除するオブジェクトの名前を指定します。

removeAll

public void removeAll(T... values)
オブジェクトをマップから削除します.

パラメータ:
values - 削除するオブジェクトを指定します。

removeAll

public void removeAll(java.util.Collection<? extends T> values)
オブジェクトをマップから削除します.

パラメータ:
values - 削除するオブジェクトを指定します。

size

public int size()
マップに追加されているオブジェクトの数を取得します.

戻り値:
マップの要素数を返します。

clear

public void clear()
マップからすべてのオブジェクトを削除します.


isEmpty

public boolean isEmpty()
マップの要素数が空であるかを調べます.

戻り値:
マップが空の場合はtrueを返します。

printAll

public void printAll(java.io.PrintStream stream)
現在保持している全てのオブジェクトをストリームに出力します. このメソッドはデバッグ用です。

パラメータ:
stream - 書き出すストリームを指定します。

printAll

public void printAll(java.io.PrintStream stream,
                     boolean valueOut)
現在保持している全てのオブジェクトをストリームに出力します. このメソッドはデバッグ用です。

パラメータ:
stream - 書き出すストリームを指定します。
valueOut - trueを指定すると値も出力します。

getProperties

public java.util.Map<java.lang.String,T> getProperties(java.lang.String... names)
指定した名前を持つオブジェクトを新しいマップに格納して返します. 存在しない名前を指定した場合は、その名前は無視されます。戻り値の マップには、存在が確認されたオブジェクトだけが格納されます。

パラメータ:
names - 戻り値に追加するオブジェクトの名前を指定します。
戻り値:
指定した名前を持つオブジェクトを新しいマップに格納して返します。

iterator

public java.util.Iterator<T> iterator()
全ての要素を参照できるイテレータを返します. 要素の順番は、HashSetに依存します。並び順を設定する必要がある場合は asListを使用してください。

定義:
インタフェース java.lang.Iterable<T extends Nameable> 内の iterator
戻り値:
このストレージの要素を参照するイテレータを返します。

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString