/* * Copyright 2004-2006 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.seasar.framework.container; import java.util.Map; /** *
* 式を表わすインターフェースです。 *
** 式とは、 オブジェクトの生成、 プロパティへのアクセス、 メソッドの呼び出し、 定義済みオブジェクトの指定、 リテラルの記述、 * 演算、などが出来る表現方法です。 また、 式の実装によっては(OGNLでは)変数の使用なども出来ます。 *
*
* diconファイルの<property>
、 <component>
、
* <initMethod>
、 <destroyMethod>
、
* <arg>
、 <meta>
、 に式を記述することが出来ます。
*
* 定義済みオブジェクトは、 以下のものがあります。 *
name
属性で参照することが出来ます。
*
*
* @author koichik
* @author goto(Javadoc)
*/
public interface Expression {
/**
* 式を評価した結果を返します。
*
* @param container
* 式を評価するコンテキストとなるS2コンテナ
* @param context
* 式を評価するコンテキストに追加できるコンテキスト
* @return 式を評価した結果
*/
Object evaluate(S2Container container, Map context);
}