import com.google.common.base.Preconditions;
/**
- * Complex configuration arguments
+ * Base complex configuration arguments
*/
public abstract class ConfigArg {
+ public static final String CODE_GEN_DEFAULT_DIR = "code-generator-files/";
+ public static final String RESOURCE_GEN_DEFAULT_DIR = "resource-generator-files/";
protected File outputBaseDir;
public abstract void check();
+ /**
+ * Configuration argument for resource generator class and output directory.
+ */
public static final class ResourceProviderArg extends ConfigArg {
private String resourceProviderClass;
public ResourceProviderArg() {
}
+ public ResourceProviderArg(String resourceProviderClass) {
+ this(resourceProviderClass, new File(RESOURCE_GEN_DEFAULT_DIR));
+ }
+
public ResourceProviderArg(String resourceProviderClass,
File outputBaseDir) {
super(outputBaseDir);
Preconditions
.checkNotNull(resourceProviderClass,
"resourceProviderClass for ResourceProvider cannot be null");
- Preconditions.checkNotNull(outputBaseDir,
- "outputBaseDir for ResourceProvider cannot be null, "
- + resourceProviderClass);
}
public String getResourceProviderClass() {
}
/**
- * Transfer object for code generator class and output directory.
+ * Configuration argument for code generator class and output directory.
*/
public static final class CodeGeneratorArg extends ConfigArg {
private String codeGeneratorClass;
public CodeGeneratorArg() {
+ super(new File(CODE_GEN_DEFAULT_DIR));
+ }
+
+ public CodeGeneratorArg(String codeGeneratorClass) {
+ this(codeGeneratorClass, new File(CODE_GEN_DEFAULT_DIR));
}
public CodeGeneratorArg(String codeGeneratorClass, File outputBaseDir) {
public void check() {
Preconditions.checkNotNull(codeGeneratorClass,
"codeGeneratorClass for CodeGenerator cannot be null");
- Preconditions.checkNotNull(outputBaseDir,
- "outputBaseDir for CodeGenerator cannot be null, "
- + codeGeneratorClass);
}
public String getCodeGeneratorClass() {