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 }