読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Provider Methods

Provider Methodsは、Moduleの関数として定義したメソッドを、コンポーネントを取得する際のProviderとして使う機能です。

Injector injector = Guice.createInjector( new AbstractModule(){
    
    // @Provides が付与されたメソッドがプロバイダ関数として使われる。
    @Provides String proivdeString() {
        return "test";
    }
    @Provides List<String> proivdeStringList() {
        return Arrays.asList( "a", "b" );
    }
    protected void configure() {
        // ↓こんな感じで書く必要はなくなる
        //binder().bind( String.class ).toProvider( new Provider<String>() {
        //    @Override
        //    public String get() {
        //        return "test";
        //    }
        //} );
    }
});
// 文字列を取り出す。
System.out.println( injector.getInstance( String.class ) );
// 文字列のリストを取り出す。
List<String> strs = injector.getInstance( Key.get( new TypeLiteral<List<String>>(){}) );
for ( String str : strs ) System.out.println( str );

実行結果です。

test
a
b