Javaと情熱のあいだ

カステラとドーナツと珈琲

条件付ArrayListのサンプル

Listに条件を付加することで、条件に当てはまらないオブジェクトを追加した場合に例外をスローする。
ちなみに、既に条件外のオブジェクトがListにあると条件の付加時にエラーになる。
サンプルではNULLを追加できないListを作ります。
材料はこちら。
org.apache.commons.collections
org.apache.commons.lang

    /**
     *
     * 実行。
     * @throws Exception 例外
     */
    public void execute() throws Exception {

        // 通常のリスト
        List list = new ArrayList();

        list.add("TEST");
        list.add(null);

        System.out.println(
                ToStringBuilder.reflectionToString(
                        list.toArray(), ToStringStyle.SIMPLE_STYLE));

        // NULLを追加できないリストの作成
        List notNullList = PredicatedList.decorate(
                new ArrayList(), PredicateUtils.notNullPredicate());

        notNullList.add("TEST");
        notNullList.add(null);
    }