Woolpack API

woolpack.factory
クラス FactoryUtils

java.lang.Object
  上位を拡張 woolpack.factory.FactoryUtils

public final class FactoryUtils
extends java.lang.Object

ファクトリのユーティリティです。

作成者:
nakamura

フィールドの概要
static Fn<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>,java.lang.RuntimeException> LINKED_MAP_FACTORY
          LinkedHashMapを生成する関数です。
 
メソッドの概要
static
<C,K,E extends java.lang.Exception>
Fn<C,java.lang.Void,E>
cache(Fn<? super C,? extends java.util.Map<? super K,java.lang.Object>,? extends E> mapGetter, Fn<? super C,? extends K,? extends E> keyGetter, Fn<? super C,?,? extends E> maker, EL el)
          委譲先で生成したオブジェクトをMapにキャッシュして コンテキスト役に設定する関数を生成します。
static
<C,K,E extends java.lang.Exception>
Fn<C,java.lang.Object,E>
cache(Fn<? super C,? extends java.util.Map<? super K,java.lang.Object>,? extends E> mapGetter, Fn<? super C,K,? extends E> keyGetter, Fn<? super C,?,? extends E> maker)
          委譲先で生成したオブジェクトをMapにキャッシュして返す関数を生成します。
static
<C,K,E extends java.lang.Exception>
Fn<C,java.lang.Void,E>
concurrentCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>,? extends E> mapGetter, Fn<? super C,? extends K,? extends E> keyGetter, Fn<? super C,?,? extends E> maker, EL el)
          委譲先で生成したオブジェクトをConcurrentMapにキャッシュして コンテキスト役に設定する関数を生成します。
static
<C,K,E extends java.lang.Exception>
Fn<C,java.lang.Object,E>
concurrentCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>,? extends E> mapGetter, Fn<? super C,K,? extends E> keyGetter, Fn<? super C,?,? extends E> maker)
          委譲先で生成したオブジェクトをConcurrentMapにキャッシュして返す関数を生成します。
static Fn<java.lang.Object,java.lang.Object,java.lang.RuntimeException> doEL(GettingEL gettingEL)
          GettingELに委譲する関数を生成します。
static
<C> Fn<C,java.io.Reader,java.io.IOException>
inputStreamReaderFactory(Fn<? super C,? extends java.io.InputStream,? extends java.io.IOException> inputStreamFactory, java.lang.String charset)
          委譲先で取得したInputStreamReaderに変換する関数を生成します。
static
<R> Fn<java.lang.Object,R,java.lang.Exception>
newInstance(java.lang.Class<R> clazz)
          Class.newInstance()を使用するオブジェクトファクトリを生成します。
static Fn<java.lang.Object,java.io.InputStream,java.io.UnsupportedEncodingException> stringInputStreamFactory(java.lang.String charset, java.lang.String s)
          文字列のバイト配列表現を返すテスト用の関数を生成します。
static Fn<java.lang.Object,java.io.StringReader,java.lang.RuntimeException> stringReaderFactory(java.lang.String s)
          StringReaderを返すテスト用の関数を生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

LINKED_MAP_FACTORY

public static final Fn<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>,java.lang.RuntimeException> LINKED_MAP_FACTORY
LinkedHashMapを生成する関数です。
適用しているデザインパターン:MapのAbstract Factory。

メソッドの詳細

cache

public static <C,K,E extends java.lang.Exception> Fn<C,java.lang.Object,E> cache(Fn<? super C,? extends java.util.Map<? super K,java.lang.Object>,? extends E> mapGetter,
                                                                                 Fn<? super C,K,? extends E> keyGetter,
                                                                                 Fn<? super C,?,? extends E> maker)
委譲先で生成したオブジェクトをMapにキャッシュして返す関数を生成します。
適用しているデザインパターン:オブジェクト生成処理のProxy、Flyweight。

型パラメータ:
C -
K -
E -
パラメータ:
mapGetter - キャッシュ用マップを取得する委譲先。
keyGetter - キャッシュに格納する際のキーを取得する委譲先。
maker - キャッシュするファイルを生成するファクトリ。
戻り値:
関数。
関連項目:
MapCache

concurrentCache

public static <C,K,E extends java.lang.Exception> Fn<C,java.lang.Object,E> concurrentCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>,? extends E> mapGetter,
                                                                                           Fn<? super C,K,? extends E> keyGetter,
                                                                                           Fn<? super C,?,? extends E> maker)
委譲先で生成したオブジェクトをConcurrentMapにキャッシュして返す関数を生成します。 ConcurrentMap.putIfAbsent(Object, Object)を使用して返却値の一意性を保証しますが、 ひとつの返却値に対応するインスタンス生成の委譲が複数回発生する可能性があります。
適用しているデザインパターン:オブジェクト生成処理のProxy、Flyweight。

型パラメータ:
C -
K -
E -
パラメータ:
mapGetter - キャッシュ用マップを取得する委譲先。
keyGetter - キャッシュに格納する際のキーを取得する委譲先。
maker - キャッシュするファイルを生成するファクトリ。
戻り値:
関数。
関連項目:
ConcurrentMapCache

cache

public static <C,K,E extends java.lang.Exception> Fn<C,java.lang.Void,E> cache(Fn<? super C,? extends java.util.Map<? super K,java.lang.Object>,? extends E> mapGetter,
                                                                               Fn<? super C,? extends K,? extends E> keyGetter,
                                                                               Fn<? super C,?,? extends E> maker,
                                                                               EL el)
委譲先で生成したオブジェクトをMapにキャッシュして コンテキスト役に設定する関数を生成します。
適用しているデザインパターン:オブジェクト生成処理のProxy、Flyweight。

型パラメータ:
C -
K -
E -
パラメータ:
mapGetter - キャッシュ用マップを取得する委譲先。
keyGetter - キャッシュに格納する際のキーを取得する委譲先。
maker - キャッシュするファイルを生成するファクトリ。
el - makerと本インスタンスによって値が格納される位置。
戻り値:
関数。
関連項目:
SideEffectMapCache

concurrentCache

public static <C,K,E extends java.lang.Exception> Fn<C,java.lang.Void,E> concurrentCache(Fn<? super C,? extends java.util.concurrent.ConcurrentMap<? super K,java.lang.Object>,? extends E> mapGetter,
                                                                                         Fn<? super C,? extends K,? extends E> keyGetter,
                                                                                         Fn<? super C,?,? extends E> maker,
                                                                                         EL el)
委譲先で生成したオブジェクトをConcurrentMapにキャッシュして コンテキスト役に設定する関数を生成します。 ConcurrentMap.putIfAbsent(Object, Object)を使用して返却値の一意性を保証しますが、 ひとつの返却値に対応するインスタンス生成の委譲が複数回発生する可能性があります。
適用しているデザインパターン:オブジェクト生成処理のProxy、Flyweight。

型パラメータ:
C -
K -
E -
パラメータ:
mapGetter - キャッシュ用マップを取得する委譲先。
keyGetter - キャッシュに格納する際のキーを取得する委譲先。
maker - キャッシュするファイルを生成するファクトリ。
el - makerと本インスタンスによって値が格納される位置。
戻り値:
関数。
関連項目:
SideEffectConcurrentMapCache

doEL

public static Fn<java.lang.Object,java.lang.Object,java.lang.RuntimeException> doEL(GettingEL gettingEL)
GettingELに委譲する関数を生成します。
適用しているデザインパターン:Adapter。

パラメータ:
gettingEL - 委譲先。
戻り値:
関数。
関連項目:
GettingELFn

inputStreamReaderFactory

public static <C> Fn<C,java.io.Reader,java.io.IOException> inputStreamReaderFactory(Fn<? super C,? extends java.io.InputStream,? extends java.io.IOException> inputStreamFactory,
                                                                                    java.lang.String charset)
委譲先で取得したInputStreamReaderに変換する関数を生成します。 文字セットが不正な場合、取得したInputStream.close()を呼び出します。
適用しているデザインパターン:InputStreamのAbstract FactoryのAdapter。

型パラメータ:
C -
パラメータ:
inputStreamFactory - InputStreamのファクトリ。
charset - 文字セット。
戻り値:
関数。
関連項目:
InputStreamReaderFactory

newInstance

public static <R> Fn<java.lang.Object,R,java.lang.Exception> newInstance(java.lang.Class<R> clazz)
Class.newInstance()を使用するオブジェクトファクトリを生成します。
適用しているデザインパターン:オブジェクトのAbstract Factory。

型パラメータ:
R -
パラメータ:
clazz - 生成するクラスの型。
戻り値:
関数。
関連項目:
NewInstanceFactory

stringInputStreamFactory

public static Fn<java.lang.Object,java.io.InputStream,java.io.UnsupportedEncodingException> stringInputStreamFactory(java.lang.String charset,
                                                                                                                     java.lang.String s)
文字列のバイト配列表現を返すテスト用の関数を生成します。
適用しているデザインパターン:InputStreamのAbstract Factory。

パラメータ:
charset - 文字セット。
s - 文字列。
戻り値:
関数。
関連項目:
StringInputStreamFactory

stringReaderFactory

public static Fn<java.lang.Object,java.io.StringReader,java.lang.RuntimeException> stringReaderFactory(java.lang.String s)
StringReaderを返すテスト用の関数を生成します。
適用しているデザインパターン:StringReaderのAbstract Factory。

パラメータ:
s - 文字列。
戻り値:
関数。
関連項目:
StringReaderFactory

Woolpack API

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.