184 185 static final StandardBundlerParam<String> APP_NAME = 186 new StandardBundlerParam<>( 187 I18N.getString("param.app-name.name"), 188 I18N.getString("param.app-name.description"), 189 Arguments.CLIOptions.NAME.getId(), 190 String.class, 191 params -> { 192 String s = MAIN_CLASS.fetchFrom(params); 193 if (s == null) return null; 194 195 int idx = s.lastIndexOf("."); 196 if (idx >= 0) { 197 return s.substring(idx+1); 198 } 199 return s; 200 }, 201 (s, p) -> s 202 ); 203 204 private static Pattern TO_FS_NAME = Pattern.compile("\\s|[\\\\/?:*<>|]"); 205 // keep out invalid/undesireable filename characters 206 207 static final StandardBundlerParam<String> APP_FS_NAME = 208 new StandardBundlerParam<>( 209 I18N.getString("param.app-fs-name.name"), 210 I18N.getString("param.app-fs-name.description"), 211 "name.fs", 212 String.class, 213 params -> TO_FS_NAME.matcher( 214 APP_NAME.fetchFrom(params)).replaceAll(""), 215 (s, p) -> s 216 ); 217 218 static final StandardBundlerParam<File> ICON = 219 new StandardBundlerParam<>( 220 I18N.getString("param.icon-file.name"), 221 I18N.getString("param.icon-file.description"), 222 Arguments.CLIOptions.ICON.getId(), 223 File.class, 224 params -> null, 225 (s, p) -> new File(s) 226 ); 227 228 static final StandardBundlerParam<String> VENDOR = 229 new StandardBundlerParam<>( 230 I18N.getString("param.vendor.name"), 231 I18N.getString("param.vendor.description"), 232 Arguments.CLIOptions.VENDOR.getId(), 233 String.class, 234 params -> I18N.getString("param.vendor.default"), 235 (s, p) -> s 236 ); 237 | 184 185 static final StandardBundlerParam<String> APP_NAME = 186 new StandardBundlerParam<>( 187 I18N.getString("param.app-name.name"), 188 I18N.getString("param.app-name.description"), 189 Arguments.CLIOptions.NAME.getId(), 190 String.class, 191 params -> { 192 String s = MAIN_CLASS.fetchFrom(params); 193 if (s == null) return null; 194 195 int idx = s.lastIndexOf("."); 196 if (idx >= 0) { 197 return s.substring(idx+1); 198 } 199 return s; 200 }, 201 (s, p) -> s 202 ); 203 204 static final StandardBundlerParam<File> ICON = 205 new StandardBundlerParam<>( 206 I18N.getString("param.icon-file.name"), 207 I18N.getString("param.icon-file.description"), 208 Arguments.CLIOptions.ICON.getId(), 209 File.class, 210 params -> null, 211 (s, p) -> new File(s) 212 ); 213 214 static final StandardBundlerParam<String> VENDOR = 215 new StandardBundlerParam<>( 216 I18N.getString("param.vendor.name"), 217 I18N.getString("param.vendor.description"), 218 Arguments.CLIOptions.VENDOR.getId(), 219 String.class, 220 params -> I18N.getString("param.vendor.default"), 221 (s, p) -> s 222 ); 223 |