|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
- 幹事IDpublic 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
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |