|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
java.lang.Objectjava.net.GoConn
public class GoConn
後述する小さな変更を除けば、このクラスのインスタンスは「RFC 404 Godo Compa」で定義されたGoConn通信プロトコルを実現します。
このクラスはスレッドセーフではありません。 複数のHumanクラスが同時に日程情報や場所情報の書き換えを行った場合に、各Humanクラスが保持する情報に不整合が発生する場合があります。
GoConnが開始される前に、Kanjiクラスとの通信が不通になった場合、一定期間をおいてこのクラスのインスタンスは破棄されます。 この時、当該クラスのインスタンスがスコープ内にあった場合でも、ガベージコレクションの対象になることに注意してください。
Kanji以外のHumanクラスがGoConnインスタンスにアクセスすることはできません。 Humanクラスは、Kanjiクラスのmailやtelメソッドを呼び出すことによって、position(開催場所)、datetime(日時)を取得することができます。 HumanクラスがKanjiクラスのインスタンスを持っていない場合は、別のHumanクラスに対してmailやtelを行い、対象HumanクラスからKanjiクラスに問い合わせをしてください。 この時、レスポンスが期日までに返ることは保証されていません。
このクラスは「RFC 404 Godo Compa」におけるMember(参加者)に関するフィールドを保持しません。 また、ManクラスのisIkemenフィールドや、WomanクラスのisCawaiiフィールドを参照する機能も有していません。 これらは実運用において GoConn.start() を呼び出す前の段階で参照できるケースが皆無であることから、JDK1.5より削除されました。
| フィールドの概要 | |
|---|---|
private java.util.Date |
datetime
開催日時 |
private Kanji |
manKanji
男性幹事 |
private int |
menCount
男性人数 |
private java.lang.String |
position
開催場所 |
private Kanji |
womanKanji
女性幹事 |
private int |
womenCount
女性人数 |
| コンストラクタの概要 | |
|---|---|
GoConn(Kanji manKanji,
Kanji womanKanji)
インスタンスを生成する。 |
|
| メソッドの概要 | |
|---|---|
void |
adjust()
男性人数と女性人数が一致しない場合、気分によってMemberCountNoMatchExceptionがthrowされます。 |
private Kanji |
getManKanji()
男性幹事を取得する。 |
int |
getMenCount()
男性人数を取得する。 |
private Kanji |
getWomanKanji()
女性幹事を取得する。 |
int |
getWomenCount()
女性人数を取得する。 |
Mail |
mail(int kanjiId)
幹事とのメール通信オブジェクトを返す。 |
void |
nijikai()
GoConn通信終了後、再度通信を立ち上げます。 |
private void |
setManKanji(Kanji kanji)
manKanjiを設定する。 |
void |
setMenCount(int menCount,
int kanjiId)
男性人数を設定する。 |
private void |
setWomanKanji(Kanji kanji)
womanKanjiを設定すr。 |
void |
setWomenCount(int womenCount,
int kanjiId)
女性人数を設定する。 |
void |
start(boolean forceStart)
GoConn通信を開催する。 |
Tel |
tel(int kanjiId)
幹事との電話通信オブジェクトを返す。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
private java.util.Date datetime
private java.lang.String position
private Kanji manKanji
private Kanji womanKanji
private int menCount
private int womenCount
| コンストラクタの詳細 |
|---|
public GoConn(Kanji manKanji,
Kanji womanKanji)
manKanji - 男性幹事womanKanji - 女性幹事| メソッドの詳細 |
|---|
private void setManKanji(Kanji kanji)
throws KanjiCanNotChangeException
kanji - 男性幹事
KanjiCanNotChangeException - 幹事が途中で降りるとかありえん例外private Kanji getManKanji()
private void setWomanKanji(Kanji kanji)
throws KanjiCanNotChangeException
kanji - 女性幹事
KanjiCanNotChangeException - 幹事が途中で降りるとかありえん例外private Kanji getWomanKanji()
public int getMenCount()
public void setMenCount(int menCount,
int kanjiId)
menCount - 男性人数kanjiId - 幹事IDpublic int getWomenCount()
public void setWomenCount(int womenCount,
int kanjiId)
womenCount - 女性人数kanjiId - 幹事ID
public void adjust()
throws MemberCountNoMatchException
MemberCountNoMatchException - メンバーの数が違う場合に発生すること(MAY)があります
public void start(boolean forceStart)
throws FewerMemberException,
KnajiNotReachedException
forceStart - 強制スタート。forceStartをtrueに設定した場合は、メンバーの数や到着チェック処理をスキップします。
FewerMemberException - 話していたのと人数が違うのだけど例外
KnajiNotReachedException - 幹事が遅刻とかありえん例外
public void nijikai()
throws KibunjaNaiException,
ShudenException
KibunjaNaiException - それほど楽しくなかった場合に発生する
ShudenException - 終電が近い場合に発生する
HaiinFumeiException - 原因不明時の例外public Tel tel(int kanjiId)
kanjiId - 幹事ID
public Mail mail(int kanjiId)
kanjiId - 幹事ID
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||