shohaku.core.util.cel
クラス CELBinder

java.lang.Object
  拡張shohaku.core.util.cel.CELBinder

public class CELBinder
extends java.lang.Object

リテラル文字を区切りとして定義される式言語を任意に束ね、実行する簡易式言語の実行機能を提供します。

CEL(Composite CELExpression Language)の略です。

この言語はインタープリタであり、完全に実行時にコンパイルされます。
この言語は速度や機能の豊富さ、厳密性等よりも、柔軟性と簡易性を重視して設計されています。
厳密性や高度な機能を実現する場合や、繰り返し実行する場合等の用途には向いていません。
平易な式を一回または数回処理する用途で使用する事が最適です。

リテラル文字の衝突しない「式」を入れ子状に組み込む事が出来ます。また束ねる「式」に応じて機能を増減出来ます。機能拡張や機能縮小も容易です。


コンストラクタの概要
CELBinder()
          デフォルトのロケールと空の式で初期化します。
CELBinder(CELExpression[] exps)
          式とデフォルトのロケールで初期化します。
CELBinder(java.util.Locale locale, CELExpression[] exps)
          ロケールと式を指定して初期化します。
 
メソッドの概要
static CELBinder getBaseTypeCreationBinder()
          基本型の生成式バインダーを返却します。
static CELBinder getCollectionCreationBinder()
          コレクション型が生成可能なバインダーを返却します。
 CELExpression[] getExpressions()
          登録されている式一覧を返却します.
 java.util.Locale getLocale()
          ロケールを返却します.
static CELBinder getObjectCreationBinder()
          大半のオブジェクト型が生成可能なバインダーを返却します。
 CELReturnValue getReturnValue(java.lang.String expression, int beginIndex, CELContext context)
          式変換を実行します。
 java.lang.Object getValue(java.lang.String expression)
          式変換を実行します。
 java.lang.Object getValue(java.lang.String expression, CELContext context)
          式変換を実行します。
 java.lang.Object getValue(java.lang.String expression, int beginIndex, CELContext context)
          式変換を実行します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CELBinder

public CELBinder()
デフォルトのロケールと空の式で初期化します。


CELBinder

public CELBinder(CELExpression[] exps)
式とデフォルトのロケールで初期化します。

パラメータ:
exps - 式

CELBinder

public CELBinder(java.util.Locale locale,
                 CELExpression[] exps)
ロケールと式を指定して初期化します。

パラメータ:
locale - ロケール
exps - 式
メソッドの詳細

getExpressions

public CELExpression[] getExpressions()
登録されている式一覧を返却します.

戻り値:
登録されている式一覧

getLocale

public java.util.Locale getLocale()
ロケールを返却します.

戻り値:
ロケール

getValue

public java.lang.Object getValue(java.lang.String expression)
式変換を実行します。

パラメータ:
expression - 式構文
戻り値:
式の結果

getValue

public java.lang.Object getValue(java.lang.String expression,
                                 CELContext context)
式変換を実行します。

パラメータ:
expression - 式構文
context - 式構文から参照する値
戻り値:
式の結果

getValue

public java.lang.Object getValue(java.lang.String expression,
                                 int beginIndex,
                                 CELContext context)
式変換を実行します。

パラメータ:
expression - 式構文
beginIndex - 式構文中の式の開始インデックス
context - 式構文から参照するコンテキスト
戻り値:
式の結果

getReturnValue

public CELReturnValue getReturnValue(java.lang.String expression,
                                     int beginIndex,
                                     CELContext context)
式変換を実行します。

パラメータ:
expression - 式構文
beginIndex - 式構文中の式の開始インデックス
context - 式構文から参照する値
戻り値:
式の結果

getBaseTypeCreationBinder

public static CELBinder getBaseTypeCreationBinder()
基本型の生成式バインダーを返却します。
プリミティブ型、文字列型、日付型、正規表現の生成機能をを提供しています。

戻り値:
基本型の生成式バインダー

getCollectionCreationBinder

public static CELBinder getCollectionCreationBinder()
コレクション型が生成可能なバインダーを返却します。
基本型に加え、コレクション(Map, Set, List)の生成機能をを提供しています。

戻り値:
コレクション型が生成可能なバインダー

getObjectCreationBinder

public static CELBinder getObjectCreationBinder()
大半のオブジェクト型が生成可能なバインダーを返却します。
コレクション型に加え、インスタンス生成式を提供しています。

戻り値:
大半のオブジェクト型が生成可能なバインダー