svnno****@sourc*****
svnno****@sourc*****
2009年 10月 9日 (金) 19:03:39 JST
Revision: 3738 http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3738 Author: ashigeru Date: 2009-10-09 19:03:38 +0900 (Fri, 09 Oct 2009) Log Message: ----------- ドキュメントを追加 Modified Paths: -------------- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/Enhancer.java leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/AopAllianceDriver.java leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/ProxyDriver.java leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/package-info.java leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/ReflectionUtil.java Added Paths: ----------- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/package-info.java leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/package-info.java leto/factory-enhancer/trunk/src/main/javadoc/ leto/factory-enhancer/trunk/src/main/javadoc/overview.html Modified: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/Enhancer.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/Enhancer.java 2009-10-09 03:59:48 UTC (rev 3737) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/Enhancer.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -31,7 +31,7 @@ * エンハンスされたクラスのインスタンスを生成するファクトリを返す。 * @return エンハンスされたクラスのインスタンスを生成するファクトリ * @throws EnhanceException 拡張に失敗した場合 - * @sine 0.2.0 + * @since 0.2.0 */ Factory<? extends T> getFactory() throws EnhanceException; } Modified: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/AopAllianceDriver.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/AopAllianceDriver.java 2009-10-09 03:59:48 UTC (rev 3737) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/AopAllianceDriver.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -30,15 +30,11 @@ import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; -import org.jiemamy.utils.enhancer.FactoryEnhancer; -import org.jiemamy.utils.enhancer.InterfaceEnhancer; import org.jiemamy.utils.enhancer.Invocation; import org.jiemamy.utils.enhancer.InvocationHandler; /** - * AOP Allianceが提供するインターセプタの定義を、Jiemamyが提供する - * {@link FactoryEnhancer}, {@link InterfaceEnhancer}でそれぞれ利用可能にするドライバ。 - * + * AOP Allianceが提供するインターセプタの定義を、Jiemamyが提供する{@link InvocationHandler}に変換するドライバ。 * <p> * それぞれのインターセプタに渡される{@link org.aopalliance.intercept.Invocation}は * 本来の仕様と多少異なる場合がある。 @@ -51,7 +47,6 @@ * * @version 0.2.0 * @since 0.2.0 - * @version $Id$ * @author Suguru ARAKAWA * @see <a href="http://aopalliance.sourceforge.net/">AOP Alliance</a> */ Modified: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/ProxyDriver.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/ProxyDriver.java 2009-10-09 03:59:48 UTC (rev 3737) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/ProxyDriver.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -43,7 +43,8 @@ * そのため、インスタンス生成に対してさらに拡張を行う場合、このエンハンスは * エンハンスチェインの末尾におかれる必要がある。 * </p> - * @version $Date$ + * @version 0.2.0 + * @since 0.2.0 * @author Suguru ARAKAWA */ public class ProxyDriver { Added: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/package-info.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/package-info.java (rev 0) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/package-info.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -0,0 +1,29 @@ +/* + * Copyright 2009 Jiemamy Project 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. + */ + +/** + * 外部が提供する機構を利用して、ファクトリの拡張方法を記述するためのドライバ群。 + * <p> + * なお、{@link org.jiemamy.utils.enhancer.driver.AopAllianceDriver}を利用する際には、 + * AOP Allianceが提供するそれぞれのインターフェースが必要となる。 + * </p> + * @see org.jiemamy.utils.enhancer.Enhance + * @see org.jiemamy.utils.enhancer.InvocationPointcut + * @see org.jiemamy.utils.enhancer.InvocationHandler + * @see <a href="http://aopalliance.sourceforge.net/">AOP Alliance</a> + */ +package org.jiemamy.utils.enhancer.driver; + Property changes on: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/driver/package-info.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Modified: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/package-info.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/package-info.java 2009-10-09 03:59:48 UTC (rev 3737) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/package-info.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -15,9 +15,10 @@ */ /** - * ファクトリが行う処理を動的に変更して、拡張されたプロダクトを生成できるようにするエンハンサ。 + * ファクトリが行う処理を動的に変更して、拡張されたプロダクトを生成できるようにするエンハンサを提供する。 * <p> - * エンハンサの定義は{@link org.jiemamy.utils.enhancer.FactoryEnhancer}にある。 + * エンハンサの定義は{@link org.jiemamy.utils.enhancer.FactoryEnhancer} + * や{@link org.jiemamy.utils.enhancer.InterfaceEnhancer}にある。 * </p> */ package org.jiemamy.utils.enhancer; Modified: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/ReflectionUtil.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/ReflectionUtil.java 2009-10-09 03:59:48 UTC (rev 3737) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/ReflectionUtil.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -32,7 +32,6 @@ /** * リフレクションに関するユーティリティ群。 - * @version $Date$ * @author Suguru ARAKAWA (Gluegent, Inc.) * @version 0.2.0 * @since 0.2.0 Added: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/package-info.java =================================================================== --- leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/package-info.java (rev 0) +++ leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/package-info.java 2009-10-09 10:03:38 UTC (rev 3738) @@ -0,0 +1,21 @@ +/* + * Copyright 2009 Jiemamy Project 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. + */ + +/** + * Javaが提供するリフレクションAPIを利用した機能を提供するクラス群。 + */ +package org.jiemamy.utils.enhancer.reflection; + Property changes on: leto/factory-enhancer/trunk/src/main/java/org/jiemamy/utils/enhancer/reflection/package-info.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Added: leto/factory-enhancer/trunk/src/main/javadoc/overview.html =================================================================== --- leto/factory-enhancer/trunk/src/main/javadoc/overview.html (rev 0) +++ leto/factory-enhancer/trunk/src/main/javadoc/overview.html 2009-10-09 10:03:38 UTC (rev 3738) @@ -0,0 +1,45 @@ +<body> +factory-enhancerのAPI仕様についてのドキュメント。 +<p> +このモジュールは、次のようなクラスやインターフェースを中心に構成されている。 +</p> +<h3> それぞれのファクトリを拡張するエンジンクラス </h3> +<dl> + <dt> {@link org.jiemamy.utils.enhancer.FactoryEnhancer} </dt> + <dd> + 実装クラスを持つファクトリを拡張する機能を提供する。 + 拡張対象のファクトリクラスでは、それぞれのプロダクトクラスに対してインスタンス生成式({@code new})を直接記述することができる。 + {@code FactoryEnhancer}は、それらのプロダクトクラスに対するインスタンス生成式や、生成したプロダクトのメソッドの内容を変更する。 + </dd> + <dt> {@link org.jiemamy.utils.enhancer.InterfaceEnhancer} </dt> + <dd> + インターフェースのみからなるファクトリを実装、および拡張する機能を提供する。 + 拡張対象のファクトリインターフェースでは、それぞれのプロダクトインターフェースを返すファクトリメソッドを記述することができる。 + {@code InterfaceEnhancer}は、それらのプロダクトインターフェースを実装したクラスを自動生成し、 + それぞれのファクトリメソッドでは、対応するプロダクトのインスタンスを生成して返すプログラムを自動的に実装する。 + また、拡張によりそれらのプロダクトクラスに対するインスタンス生成式や、生成したプロダクトのメソッドの内容を変更する。 + </dd> +</dl> + +<h3> 拡張の方法を記述するクラス, インターフェース </h3> +<dl> + <dt> {@link org.jiemamy.utils.enhancer.Enhance} </dt> + <dd> + 拡張する対象のメソッド起動やコンストラクタ起動を指定し、またそれらの拡張方法を定義する。 + </dd> +</dl> + +<h3> 他の実装からの移植 </h3> +<dl> + <dt> {@link org.jiemamy.utils.enhancer.driver.ProxyDriver} </dt> + <dd> + {@link java.lang.reflect.Proxy}の機能を利用したドライバ。 + 通常のコンストラクタ呼び出しの代わりに、同機能を利用したインスタンス生成を行うための拡張を定義できる。 + </dd> + <dt> {@link org.jiemamy.utils.enhancer.driver.AopAllianceDriver} </dt> + <dd> + <a href="http://aopalliance.sourceforge.net/">AOP Alliance</a>が提供する各種インターセプタインターフェースのドライバ。 + 各種ジョインポイントに対する標準的なインターセプトの記述を、factory-enhancerで利用可能な形式に変換する。 + </dd> +</dl> +</body> Property changes on: leto/factory-enhancer/trunk/src/main/javadoc/overview.html ___________________________________________________________________ Added: svn:mime-type + text/html Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native