30 import java.util.function.Function; 31 32 /** 33 * 34 * The class contains key-value pairs (elements) where keys are "displayable" keys 35 * which the IDE can display/choose and values are "identifier" values which can be stored 36 * in parameters' map. 37 * 38 * For instance the Mac has a predefined set of categories which can be applied 39 * to LSApplicationCategoryType which is required for the mac app store. 40 * 41 * The following example illustrates a simple usage of the MAC_CATEGORY parameter 42 * 43 * Set<String> keys = MAC_CATEGORY.getDisplayableKeys(); 44 * 45 * String key = getLastValue(keys); // get last value for example 46 * 47 * String value = MAC_CATEGORY.getValueForDisplayableKey(key); 48 * params.put(MAC_CATEGORY.getID(), value); 49 * 50 */ 51 public class EnumeratedBundlerParam<T> extends BundlerParamInfo<T> { 52 //Not sure if this is the correct order, my idea is that from and IDE's perspective 53 //the string to display to the user is the key and then the value is some type of 54 //object (although probably a String in most cases) 55 private Map<String, T> elements; 56 private boolean strict; 57 58 public EnumeratedBundlerParam(String name, 59 String description, 60 String id, 61 Class<T> valueType, 62 Function<Map<String, ? super Object>, T> defaultValueFunction, 63 BiFunction<String, Map<String, ? super Object>, T> stringConverter, 64 Map<String, T> elements, 65 boolean strict) { 66 this.name = name; 67 this.description = description; 68 this.id = id; 69 this.valueType = valueType; 70 this.defaultValueFunction = defaultValueFunction; | 30 import java.util.function.Function; 31 32 /** 33 * 34 * The class contains key-value pairs (elements) where keys are "displayable" keys 35 * which the IDE can display/choose and values are "identifier" values which can be stored 36 * in parameters' map. 37 * 38 * For instance the Mac has a predefined set of categories which can be applied 39 * to LSApplicationCategoryType which is required for the mac app store. 40 * 41 * The following example illustrates a simple usage of the MAC_CATEGORY parameter 42 * 43 * Set<String> keys = MAC_CATEGORY.getDisplayableKeys(); 44 * 45 * String key = getLastValue(keys); // get last value for example 46 * 47 * String value = MAC_CATEGORY.getValueForDisplayableKey(key); 48 * params.put(MAC_CATEGORY.getID(), value); 49 * 50 * @Deprecated 51 */ 52 @Deprecated 53 public class EnumeratedBundlerParam<T> extends BundlerParamInfo<T> { 54 //Not sure if this is the correct order, my idea is that from and IDE's perspective 55 //the string to display to the user is the key and then the value is some type of 56 //object (although probably a String in most cases) 57 private Map<String, T> elements; 58 private boolean strict; 59 60 public EnumeratedBundlerParam(String name, 61 String description, 62 String id, 63 Class<T> valueType, 64 Function<Map<String, ? super Object>, T> defaultValueFunction, 65 BiFunction<String, Map<String, ? super Object>, T> stringConverter, 66 Map<String, T> elements, 67 boolean strict) { 68 this.name = name; 69 this.description = description; 70 this.id = id; 71 this.valueType = valueType; 72 this.defaultValueFunction = defaultValueFunction; |