Add ability to selectively enable a generator during generation.

Change-Id: Icb92c7b21dea67ef2ce647647446867bfd27f445
diff --git a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/GeneratorArguments.java b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/GeneratorArguments.java
index 040ca92..53e2734 100644
--- a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/GeneratorArguments.java
+++ b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/GeneratorArguments.java
@@ -9,7 +9,6 @@
 
 import java.io.File;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -21,6 +20,7 @@
     private File workingDirectory;
     private File outputDirectory;
     private List<URL> extraClasspathEntries;
+    private List<String> enabledGenerators;
     private List<String> disabledGenerators;
     private File activeFacet;
     private boolean ignoreFacet = false;
@@ -62,6 +62,15 @@
         return extraClasspathEntries == null ? Collections.emptyList() : extraClasspathEntries;
     }
     
+    public GeneratorArguments enabledGenerators(List<String> generators) {
+        this.enabledGenerators = generators;
+        return this;
+    }
+
+    public List<String> getEnabledGenerators() {
+        return enabledGenerators == null ? Collections.emptyList() : enabledGenerators;
+    }
+
     public GeneratorArguments disabledGenerators(List<String> generators) {
         this.disabledGenerators = generators;
         return this;
diff --git a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/ProjectGenerator.java b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/ProjectGenerator.java
index 3b8341e..b0105fd 100644
--- a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/ProjectGenerator.java
+++ b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/runner/ProjectGenerator.java
@@ -196,9 +196,12 @@
         }
 
         for (IPluginConfig generator : runConfig.getPluginConfigs()) {
-            if (arguments.getDisabledGenerators().contains(generator.getPluginName())) {
+            if (arguments.getDisabledGenerators().contains(generator.getPluginName()) && generator.isEnabled()) {
                 LOG.debug("Disabling generator: {}", generator.getLabel());
                 generator.setEnabled(false);
+            } else if (arguments.getEnabledGenerators().contains(generator.getPluginName()) && !generator.isEnabled()) {
+                LOG.debug("Enabling generator: {}", generator.getLabel());
+                generator.setEnabled(true);
             }
         }