Index: [Article Count Order] [Thread]

Date:  Fri, 29 Sep 2000 12:58:18 +0900
From:  firo <firo@....jp>
Subject:  [XP-jp:00978] Re: MemberList 更新
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <00Sep29.125819jst.115207@....jp>
References:  <97BA340C0480D411BDA800062939A1890607B9@....jp>
Posted:  Fri, 29 Sep 2000 12:58:19 +0900
X-Mail-Count: 00978

矢崎です。花子さんモードで。

tetsuya@....jp さんwrote:

>
> と思って、送信しようとしたのですが、addにやらせるのは変ですね。
> 折角containsメソッドがあるなら、それでチェックしてからaddすれ
> ばいいはず(自分に言い聞かせてます。)
>
>     Member member = new Member(mailAddress);
>
>     if (contains(member))
>         continue;
>
>     add(member);
>
> として、addの実装はそのままとか。
>

昨日は結局コミットせずに帰宅しちゃったわ。今日は最後にはコミット
しなきゃ。



多分三郎さんだと思うのだけれど、私の机の上に上のようなメモが
あったわ。私もこのメモの意見には賛成。ただ
    if (contains(member))
        continue;

    add(member);

のところは

    if (! contains(member)) add(member);

じゃ、だめかしら?

とりあえず、テストのほうは、そのままでよいからMemberListを
直してコンパイルとテストをします。

はい、通りました。

まだコミットしないから、下に全文を載せておくわね。


/*
 * $Id: MemberList.java,v 1.3 2000/09/27 18:25:14 xp Exp $
 */
package XP.jp.co.esm.wiki.extremedomo;

import java.util.*;
import java.io.*;

public class MemberList {
    public MemberList() {
    }
    public MemberList(String nameOfMemberList) throws
FileNotFoundException{
        BufferedReader bufIn = null;

        try {
            bufIn = new BufferedReader(new
FileReader(nameOfMemberList));

            String fileLine;
            while (true) {
                fileLine = bufIn.readLine();
                if (fileLine == null)
                    break;

                String mailAddress = fileLine.trim();
                if (mailAddress.length() == 0)
                    continue;

                Member member = new Member(mailAddress);
                if (! contains(member)) add(member);
            }
        } catch (FileNotFoundException e) {
            throw e;
        } catch (IOException e) {
            throw new RuntimeException();
        } finally {
            try {
                if (bufIn != null)
                    bufIn.close();
            } catch (Exception e) {
            }
        }
    }
    public void add(Member aMember) {
        if (contains(aMember))
            throw new IllegalArgumentException();

        members.add(aMember);
    }
    public Member get(int index) {
        return (Member)members.get(index);
    }
    public int size() {
        return members.size();
    }
    public boolean contains(Member aMember) {
        return members.contains(aMember);
    }

    private List members = new ArrayList();
}


--
矢崎博英  firo@....jp