1   package com.atlassian.maven.plugins.amps.codegen.prompter;
2   
3   import java.util.ArrayList;
4   import java.util.Arrays;
5   import java.util.List;
6   
7   import com.atlassian.plugins.codegen.modules.PluginModuleLocation;
8   import com.atlassian.plugins.codegen.modules.PluginModuleProperties;
9   
10  import org.codehaus.plexus.components.interactivity.PrompterException;
11  
12  /**
13   *
14   */
15  public interface PluginModulePrompter<T extends PluginModuleProperties>
16  {
17  
18      public static final List<String> YN_ANSWERS = new ArrayList<String>(Arrays.asList("Y", "y", "N", "n"));
19      public static final List<String> ANDOR_ANSWERS = new ArrayList<String>(Arrays.asList("AND", "and", "OR", "or"));
20  
21      T getModulePropertiesFromInput(PluginModuleLocation moduleLocation) throws PrompterException;
22  
23      T promptForBasicProperties(PluginModuleLocation moduleLocation) throws PrompterException;
24  
25      void promptForAdvancedProperties(T props, PluginModuleLocation moduleLocation) throws PrompterException;
26  
27      void setDefaultBasePackage(String basePackage);
28  
29      String getDefaultBasePackage();
30  
31  }