shohaku.core.collections.wrapper
クラス SynchronizedGroup

java.lang.Object
  拡張shohaku.core.collections.wrapper.WrappedGroup
      拡張shohaku.core.collections.wrapper.SynchronizedGroup
すべての実装インタフェース:
Group, java.io.Serializable

public class SynchronizedGroup
extends WrappedGroup

指定されたグループを基にする同期 (スレッドセーフな) ビューを定義します。
確実に直列アクセスを実現するには、基になるグループへのアクセスはすべて、返されたグループを介して行う必要があります。

返されたグループのコレクションビューでの繰り返し処理を行う場合、ユーザは、次に示すように手動で同期をとる必要があります。

       Group g = new SynchronizedGroup(new HashListGroup());
           ...
       Set s = g.keySet();  // Needn't be in synchronized block
           ...
       synchronized(g) {  // Synchronizing on m, not s!
           Iterator i = s.iterator(); // Must be in synchronized block
           while (i.hasNext())
              foo(i.next());
       }
 
これを行わない場合、動作は保証されません。

ラッピングされたグループが直列化可能の場合は直列化可能です。

関連項目:
直列化された形式

入れ子クラスの概要
 
クラス shohaku.core.collections.wrapper.WrappedGroup から継承した入れ子クラス
WrappedGroup.WrappedGroupEntry, WrappedGroup.WrappedGroupEntrySet
 
クラス shohaku.core.collections.Group から継承した入れ子クラス
Group.Entry
 
フィールドの概要
protected  java.lang.Object mutex
          同期オブジェクト。
 
クラス shohaku.core.collections.wrapper.WrappedGroup から継承したフィールド
entrySet, group, keySet
 
コンストラクタの概要
SynchronizedGroup(Group g)
          ラップするグループを指定して初期化します。
 
メソッドの概要
 boolean add(java.lang.Object key)
          基となるグループの同メソッドを呼び出します。
 boolean add(java.lang.Object key, java.lang.Object value)
          基となるグループの同メソッドを呼び出します。
 void addAll(Group g)
          基となるグループの同メソッドを呼び出します。
 boolean addAll(java.lang.Object key, java.util.Collection c)
          基となるグループの同メソッドを呼び出します。
 void clear()
          基となるグループの同メソッドを呼び出します。
 boolean containsKey(java.lang.Object key)
          基となるグループの同メソッドを呼び出します。
 boolean containsValue(java.lang.Object key, java.lang.Object value)
          基となるグループの同メソッドを呼び出します。
 java.util.Set entrySet()
          基となるグループの同メソッドの戻り値を 同期セットでラッピングしたセットを返します。
 boolean equals(java.lang.Object o)
          基となるグループの同メソッドを呼び出します。
 java.util.Collection get(java.lang.Object key)
          基となるグループの同メソッドの戻り値を 同期コレクションでラッピングしたコレクションを返します。
 int hashCode()
          基となるグループの同メソッドを呼び出します。
 boolean isEmpty()
          基となるグループの同メソッドを呼び出します。
 java.util.Iterator iterator()
          基となるグループの同メソッドの戻り値を WrappedIterator でラッピングした反復子を返します。
 java.util.Iterator iterator(java.lang.Object key)
          基となるグループの同メソッドの戻り値を WrappedIterator でラッピングした反復子を返します。
 java.util.Set keySet()
          基となるグループの同メソッドの戻り値を 同期セットでラッピングしたセットを返します。
 java.util.Collection remove(java.lang.Object key)
          基となるグループの同メソッドの戻り値を WrappedCollection でラッピングしたコレクションを返します。
 boolean remove(java.lang.Object key, java.lang.Object value)
          基となるグループの同メソッドを呼び出します。
 int size()
          基となるグループの同メソッドを呼び出します。
 int size(java.lang.Object key)
          基となるグループの同メソッドを呼び出します。
 java.lang.String toString()
          基となるグループの同メソッドを呼び出します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

mutex

protected final java.lang.Object mutex
同期オブジェクト。

コンストラクタの詳細

SynchronizedGroup

public SynchronizedGroup(Group g)
ラップするグループを指定して初期化します。

パラメータ:
g - ラップするグループ
メソッドの詳細

get

public java.util.Collection get(java.lang.Object key)
基となるグループの同メソッドの戻り値を 同期コレクションでラッピングしたコレクションを返します。

定義:
インタフェース Group 内の get
オーバーライド:
クラス WrappedGroup 内の get
関連項目:
Group.get(java.lang.Object)

size

public int size()
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の size
オーバーライド:
クラス WrappedGroup 内の size
関連項目:
Group.size()

size

public int size(java.lang.Object key)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の size
オーバーライド:
クラス WrappedGroup 内の size
関連項目:
Group.size(java.lang.Object)

keySet

public java.util.Set keySet()
基となるグループの同メソッドの戻り値を 同期セットでラッピングしたセットを返します。

定義:
インタフェース Group 内の keySet
オーバーライド:
クラス WrappedGroup 内の keySet
関連項目:
Group.keySet()

entrySet

public java.util.Set entrySet()
基となるグループの同メソッドの戻り値を 同期セットでラッピングしたセットを返します。

定義:
インタフェース Group 内の entrySet
オーバーライド:
クラス WrappedGroup 内の entrySet
関連項目:
Group.entrySet()

isEmpty

public boolean isEmpty()
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の isEmpty
オーバーライド:
クラス WrappedGroup 内の isEmpty
関連項目:
Group.isEmpty()

containsKey

public boolean containsKey(java.lang.Object key)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の containsKey
オーバーライド:
クラス WrappedGroup 内の containsKey
関連項目:
Group.containsKey(java.lang.Object)

containsValue

public boolean containsValue(java.lang.Object key,
                             java.lang.Object value)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の containsValue
オーバーライド:
クラス WrappedGroup 内の containsValue
関連項目:
Group.containsValue(java.lang.Object, java.lang.Object)

iterator

public java.util.Iterator iterator()
基となるグループの同メソッドの戻り値を WrappedIterator でラッピングした反復子を返します。

定義:
インタフェース Group 内の iterator
オーバーライド:
クラス WrappedGroup 内の iterator
関連項目:
Group.iterator()

iterator

public java.util.Iterator iterator(java.lang.Object key)
基となるグループの同メソッドの戻り値を WrappedIterator でラッピングした反復子を返します。

定義:
インタフェース Group 内の iterator
オーバーライド:
クラス WrappedGroup 内の iterator
関連項目:
Group.iterator(java.lang.Object)

add

public boolean add(java.lang.Object key)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の add
オーバーライド:
クラス WrappedGroup 内の add
関連項目:
Group.add(java.lang.Object)

add

public boolean add(java.lang.Object key,
                   java.lang.Object value)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の add
オーバーライド:
クラス WrappedGroup 内の add
関連項目:
Group.add(java.lang.Object, java.lang.Object)

addAll

public void addAll(Group g)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の addAll
オーバーライド:
クラス WrappedGroup 内の addAll
関連項目:
Group.addAll(shohaku.core.collections.Group)

addAll

public boolean addAll(java.lang.Object key,
                      java.util.Collection c)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の addAll
オーバーライド:
クラス WrappedGroup 内の addAll
関連項目:
Group.addAll(java.lang.Object, java.util.Collection)

remove

public java.util.Collection remove(java.lang.Object key)
基となるグループの同メソッドの戻り値を WrappedCollection でラッピングしたコレクションを返します。

定義:
インタフェース Group 内の remove
オーバーライド:
クラス WrappedGroup 内の remove
関連項目:
Group.remove(java.lang.Object)

remove

public boolean remove(java.lang.Object key,
                      java.lang.Object value)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の remove
オーバーライド:
クラス WrappedGroup 内の remove
関連項目:
Group.remove(java.lang.Object, java.lang.Object)

clear

public void clear()
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の clear
オーバーライド:
クラス WrappedGroup 内の clear
関連項目:
Group.clear()

equals

public boolean equals(java.lang.Object o)
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の equals
オーバーライド:
クラス WrappedGroup 内の equals
関連項目:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
基となるグループの同メソッドを呼び出します。

定義:
インタフェース Group 内の hashCode
オーバーライド:
クラス WrappedGroup 内の hashCode
関連項目:
Object.hashCode()

toString

public java.lang.String toString()
基となるグループの同メソッドを呼び出します。

オーバーライド:
クラス WrappedGroup 内の toString
関連項目:
Object.toString()