Index: maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractOptionActionJavaGenerator.java diff -u maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractOptionActionJavaGenerator.java:1.3 maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractOptionActionJavaGenerator.java:1.4 --- maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractOptionActionJavaGenerator.java:1.3 Wed Mar 19 20:21:42 2008 +++ maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractOptionActionJavaGenerator.java Sat Mar 22 01:36:21 2008 @@ -20,8 +20,8 @@ package org.codelutin.option.generate.java; import org.codelutin.option.Option; +import org.codelutin.option.generate.JavaGeneratorContext; -import java.io.File; import java.io.IOException; import java.lang.reflect.Modifier; import static java.lang.reflect.Modifier.ABSTRACT; @@ -32,13 +32,13 @@ /** * Generateur d'implantation de clef d'Option. *
- * Utiliser la méthode {@link #doGenerate(java.io.File,long, String, String, String, String, String, String, String)} + * Utiliser la méthode {@link #doGenerate(JavaGeneratorContext)} * pour générer une nouvelle action. * * @author tony */ public class AbstractOptionActionJavaGenerator extends AbstractJavaGenerator { - public static void doGenerate(File out, + /* public static void doGenerate(File out, long timestamp, String i18nPrefix, String parserPack, @@ -52,6 +52,15 @@ AbstractOptionActionJavaGenerator gen; gen = new AbstractOptionActionJavaGenerator(out, timestamp, i18nPrefix, parserPack, contextPack, simpleNameWithType, superClassWithType, parserSimpleName, contextSimpleName); gen.generate(); + }*/ + + public static void doGenerate(JavaGeneratorContext context) throws IOException { + + String superClassWithType = context.getActionSuperClass() + "{0}.\n\n@author {1}\n@see {2}\n@see {3}\n@see {4}");
- protected String parserSimpleName;
- protected String contextSimpleName;
- protected String contextPack;
-
- protected AbstractOptionActionJavaGenerator(File out,
+ /*protected AbstractOptionActionJavaGenerator(File out,
long timestamp,
String i18nPrefix,
String pack,
@@ -74,17 +79,21 @@
String parserSimpleName,
String contextSimpleName) {
super(out, timestamp, i18nPrefix, ABSTRACT | PUBLIC, pack, simpleName, superClass);
- this.parserSimpleName = parserSimpleName;
- this.contextSimpleName = contextSimpleName;
- this.contextPack = contextPack;
+ } */
+
+ protected AbstractOptionActionJavaGenerator(JavaGeneratorContext context,
+ String pack,
+ String simpleName,
+ String superClass) {
+ super(context, ABSTRACT | PUBLIC, pack, simpleName, superClass);
}
protected void addContent() {
// add a proptected constructor (this is an abstract class)
registerImport(normalImports, Option.class);
- registerImport(normalImports, pack, parserSimpleName);
- registerImport(normalImports, contextPack, contextSimpleName);
+ registerImport(normalImports, pack, getContext().getParserSimpleName());
+ registerImport(normalImports, getContext().getContextPackageName(), getContext().getContextSimpleName());
builder.append('\n');
// optionAction is now with default constructor
@@ -96,7 +105,7 @@
@Override
protected String generateClassJavadoc() {
StringBuffer sb = new StringBuffer();
- CLASS_JAVADOC_MESSAGE.format(new Object[]{parserSimpleName, userName, superClassWithNoType, parserSimpleName, contextSimpleName}, sb, new FieldPosition(0));
+ CLASS_JAVADOC_MESSAGE.format(new Object[]{getContext().getParserSimpleName(), userName, superClassWithNoType, getContext().getParserSimpleName(), getContext().getContextSimpleName()}, sb, new FieldPosition(0));
return sb.toString();
}
Index: maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractJavaGenerator.java
diff -u maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractJavaGenerator.java:1.9 maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractJavaGenerator.java:1.10
--- maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractJavaGenerator.java:1.9 Wed Mar 19 20:21:42 2008
+++ maven-commandline-plugin/src/java/org/codelutin/option/generate/java/AbstractJavaGenerator.java Sat Mar 22 01:36:21 2008
@@ -23,6 +23,7 @@
import org.apache.commons.logging.LogFactory;
import org.codelutin.util.FileUtil;
import org.codelutin.util.StringUtil;
+import org.codelutin.option.generate.JavaGeneratorContext;
import java.io.File;
import java.io.IOException;
@@ -120,6 +121,8 @@
/** internal builder of class */
protected StringBuilder headerBuilder;
+ private JavaGeneratorContext context;
+
protected AbstractJavaGenerator(File out, long timestamp, String i18nPrefix, int modifiers, String pack, String simpleName, String superClass, String... interfaceClass) {
this.out = out;
this.timestamp = timestamp;
@@ -134,11 +137,30 @@
this.userName = System.getProperty("user.name", getClass().getSimpleName());
}
+ protected AbstractJavaGenerator(JavaGeneratorContext context,int modifiers, String pack, String simpleName, String superClass, String... interfaceClass) {
+ this.context = context;
+ this.out = context.getOut();
+ this.timestamp = context.getTimestamp();
+ this.i18nPrefix = context.getI18nPrefix();
+ this.pack = pack;
+ this.simpleName = simpleName;
+ this.simpleNameWithNoType = getNameWithNoType(simpleName);
+ this.superClass = superClass;
+ this.superClassWithNoType = getNameWithNoType(superClass);
+ this.interfaceClass = interfaceClass;
+ this.modifiers = modifiers;
+ this.userName = System.getProperty("user.name", getClass().getSimpleName());
+ }
+
protected String getNameWithNoType(String simpleName) {
int pos = simpleName.indexOf('<');
return pos == -1 ? simpleName : simpleName.substring(0, pos);
}
+ public JavaGeneratorContext getContext() {
+ return context;
+ }
+
protected void generate() throws IOException {
builder = new StringBuilder();
headerBuilder = new StringBuilder();
Index: maven-commandline-plugin/src/java/org/codelutin/option/generate/java/DefaultOptionActionJavaGenerator.java
diff -u maven-commandline-plugin/src/java/org/codelutin/option/generate/java/DefaultOptionActionJavaGenerator.java:1.6 maven-commandline-plugin/src/java/org/codelutin/option/generate/java/DefaultOptionActionJavaGenerator.java:1.7
--- maven-commandline-plugin/src/java/org/codelutin/option/generate/java/DefaultOptionActionJavaGenerator.java:1.6 Wed Mar 19 20:21:42 2008
+++ maven-commandline-plugin/src/java/org/codelutin/option/generate/java/DefaultOptionActionJavaGenerator.java Sat Mar 22 01:36:21 2008
@@ -10,12 +10,11 @@
public class DefaultOptionActionJavaGenerator extends OptionActionJavaGenerator {
- protected DefaultOptionActionJavaGenerator(File out, long timestamp, String i18nPrefix, OptionContext context, String pack, String simpleName, String superClass, String optionPack, String optionClass, String parserPack, String parserClass, String contextClass, DefaultOptionAction option) {
+ public DefaultOptionActionJavaGenerator(File out, long timestamp, String i18nPrefix, OptionContext context, String pack, String simpleName, String superClass, String optionPack, String optionClass, String parserPack, String parserClass, String contextClass, DefaultOptionAction option) {
super(out, timestamp, i18nPrefix, context, pack, simpleName, superClass, optionPack, optionClass, parserPack, parserClass, contextClass, option);
}
-
@Override
protected void addFields() {