Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Javaでも。
[go: Go Back, main page]

■Jakarta Commons Chain version1.0 - Catalog

Catalog の概要

Catalog は Command を格納しておくための入れ物です。
具体的な実装は org.apache.commons.chain.impl.CatalogBase 。
使い勝手としてはほぼ java.util.Map と同じように使うことができます。

Catalog への Command の追加は

Catalog からの Command の取り出しは

メソッドを使います。
メソッドの引数の String には Catalog への追加、取り出しに使うキーを文字列で指定します。

サンプル

Catalog に Commnad を追加して取得するサンプルです。
実際使用する際には直接 CatalogBase クラスを new することはほぼなく、 CatalogFactory クラスからインスタンスを取得する形になるかと思います。

package javademo.chain;

import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;

public class Command1 implements Command {

    public boolean execute(Context arg0) throws Exception {
        System.out.println("Command1 executed.");
        return false;
    }
}
package javademo.chain;

import org.apache.commons.chain.Command;
import org.apache.commons.chain.impl.CatalogBase;
import org.apache.commons.chain.impl.ChainBase;
import org.apache.commons.chain.impl.ContextBase;

public class Run {

    public static void main(String[] args) {
        ChainBase chain = new ChainBase();
        chain.addCommand(new Command1());

        CatalogBase catalog = new CatalogBase();
        catalog.addCommand("command", chain);
        
        
        try {
            Command retrieve = catalog.getCommand("command");
            ContextBase context = new ContextBase();
            retrieve.execute(context);
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}

まとめ

Catalog の特徴は次のとおり。