[Jiemamy-notify:2739] commit [3666] Javadocを追加。動作にあわせたメソッド名に変更。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 9月 24日 (木) 21:46:19 JST


Revision: 3666
          http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3666
Author:   yamkazu
Date:     2009-09-24 21:46:19 +0900 (Thu, 24 Sep 2009)

Log Message:
-----------
Javadocを追加。動作にあわせたメソッド名に変更。

Modified Paths:
--------------
    eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExportMojo.java

Modified: eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExportMojo.java
===================================================================
--- eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExportMojo.java	2009-09-24 12:03:07 UTC (rev 3665)
+++ eros/maven-jiemamy-plugin/trunk/src/main/java/org/jiemamy/maven/ExportMojo.java	2009-09-24 12:46:19 UTC (rev 3666)
@@ -159,7 +159,7 @@
 	private void executeExport(RootModel rootModel) throws ClassNotFoundException, MojoExecutionException,
 			InstantiationException, IllegalAccessException, ExportException, NotFoundException, CannotCompileException {
 		Class<?> exportClass = Class.forName(exporterClass);
-		Type genericType = getGenericType(exportClass);
+		Type genericType = getExporterGenericInterface(exportClass);
 		
 		// ExportConfigクラスを取得
 		Class<?> exportConfigClass = Class.forName(((Class<?>) genericType).getName());
@@ -238,7 +238,18 @@
 		return generator.generate();
 	}
 	
-	private Type getGenericType(Class<?> clazz) throws MojoExecutionException {
+	/**
+	 * パラメータ化された{@link Exporter}の要素型を取得する。
+	 * <p>
+	 * {@code clazz}に{@link Exporter}が見つからない場合は再帰的に
+	 * {@link Class#getSuperclass()}を取得して{@link Exporter}を探す。
+	 * 
+	 * @param clazz {@link Exporter}の実装クラス
+	 * @return {@link Exporter}の要素型
+	 * @throws MojoExecutionException {@link Exporter}が見つからない場合
+	 * @since 0.3
+	 */
+	private Type getExporterGenericInterface(Class<?> clazz) throws MojoExecutionException {
 		for (Type type : clazz.getGenericInterfaces()) {
 			if (type != null && type instanceof ParameterizedType
 					&& Exporter.class.equals(((ParameterizedType) type).getRawType())) {
@@ -246,12 +257,12 @@
 			}
 		}
 		if (clazz.getSuperclass() != null) {
-			Type genericType = getGenericType(clazz.getSuperclass());
+			Type genericType = getExporterGenericInterface(clazz.getSuperclass());
 			if (genericType != null) {
 				return genericType;
 			}
 		}
-		throw new MojoExecutionException("Not found ExportConfig Class");
+		throw new MojoExecutionException("Not found Exporter Class");
 	}
 	
 	/**




Jiemamy-notify メーリングリストの案内
Back to archive index