src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsBundlerParam.java
branchJDK-8200758-branch
changeset 57067 9c17d779808e
parent 57059 9bb2a4dc3af7
child 57091 06bc4bd64599
equal deleted inserted replaced
57066:2fd0529702cd 57067:9c17d779808e
    23  * questions.
    23  * questions.
    24  */
    24  */
    25 
    25 
    26 package jdk.jpackage.internal;
    26 package jdk.jpackage.internal;
    27 
    27 
    28 import jdk.jpackage.internal.BundlerParamInfo;
    28 import jdk.jpackage.internal.resources.WinResources;
    29 import jdk.jpackage.internal.StandardBundlerParam;
       
    30 import jdk.jpackage.internal.Arguments;
       
    31 import jdk.jpackage.internal.RelativeFileSet;
       
    32 import jdk.jpackage.internal.BundleParams;
       
    33 
    29 
    34 import java.util.Map;
    30 import java.util.Map;
    35 import java.util.ResourceBundle;
    31 import java.util.ResourceBundle;
    36 import java.util.function.BiFunction;
    32 import java.util.function.BiFunction;
    37 import java.util.function.Function;
    33 import java.util.function.Function;
    38 
    34 
    39 public class WindowsBundlerParam<T> extends StandardBundlerParam<T> {
    35 class WindowsBundlerParam<T> extends StandardBundlerParam<T> {
    40 
    36 
    41     private static final ResourceBundle I18N = ResourceBundle.getBundle(
    37     private static final ResourceBundle I18N = ResourceBundle.getBundle(
    42             "jdk.jpackage.internal.resources.WinResources");
    38             "jdk.jpackage.internal.resources.WinResources");
    43 
    39 
    44     public WindowsBundlerParam(String name, String description, String id,
    40     WindowsBundlerParam(String name, String description, String id,
    45             Class<T> valueType,
    41             Class<T> valueType,
    46             Function<Map<String, ? super Object>, T> defaultValueFunction,
    42             Function<Map<String, ? super Object>, T> defaultValueFunction,
    47             BiFunction<String,
    43             BiFunction<String,
    48             Map<String, ? super Object>, T> stringConverter) {
    44             Map<String, ? super Object>, T> stringConverter) {
    49         super(name, description, id, valueType,
    45         super(name, description, id, valueType,
    50                 defaultValueFunction, stringConverter);
    46                 defaultValueFunction, stringConverter);
    51     }
    47     }
    52 
    48 
    53     public static final BundlerParamInfo<String> INSTALLER_FILE_NAME =
    49     static final BundlerParamInfo<String> INSTALLER_FILE_NAME =
    54             new StandardBundlerParam<> (
    50             new StandardBundlerParam<> (
    55             I18N.getString("param.installer-name.name"),
    51             I18N.getString("param.installer-name.name"),
    56             I18N.getString("param.installer-name.description"),
    52             I18N.getString("param.installer-name.description"),
    57             "win.installerName",
    53             "win.installerName",
    58             String.class,
    54             String.class,
    67                     return nm + "-" + version;
    63                     return nm + "-" + version;
    68                 }
    64                 }
    69             },
    65             },
    70             (s, p) -> s);
    66             (s, p) -> s);
    71 
    67 
    72     public static final BundlerParamInfo<String> APP_REGISTRY_NAME =
    68     static final BundlerParamInfo<String> APP_REGISTRY_NAME =
    73             new StandardBundlerParam<> (
    69             new StandardBundlerParam<> (
    74             I18N.getString("param.registry-name.name"),
    70             I18N.getString("param.registry-name.name"),
    75             I18N.getString("param.registry-name.description"),
    71             I18N.getString("param.registry-name.description"),
    76             Arguments.CLIOptions.WIN_REGISTRY_NAME.getId(),
    72             Arguments.CLIOptions.WIN_REGISTRY_NAME.getId(),
    77             String.class,
    73             String.class,
    81 
    77 
    82                 return nm.replaceAll("[^-a-zA-Z\\.0-9]", "");
    78                 return nm.replaceAll("[^-a-zA-Z\\.0-9]", "");
    83             },
    79             },
    84             (s, p) -> s);
    80             (s, p) -> s);
    85 
    81 
    86     public static final StandardBundlerParam<String> MENU_GROUP =
    82     static final StandardBundlerParam<String> MENU_GROUP =
    87             new StandardBundlerParam<>(
    83             new StandardBundlerParam<>(
    88                     I18N.getString("param.menu-group.name"),
    84                     I18N.getString("param.menu-group.name"),
    89                     I18N.getString("param.menu-group.description"),
    85                     I18N.getString("param.menu-group.description"),
    90                     Arguments.CLIOptions.WIN_MENU_GROUP.getId(),
    86                     Arguments.CLIOptions.WIN_MENU_GROUP.getId(),
    91                     String.class,
    87                     String.class,
    95                             ? CATEGORY.fetchFrom(params)
    91                             ? CATEGORY.fetchFrom(params)
    96                             : I18N.getString("param.menu-group.default"),
    92                             : I18N.getString("param.menu-group.default"),
    97                     (s, p) -> s
    93                     (s, p) -> s
    98             );
    94             );
    99 
    95 
   100     public static final StandardBundlerParam<Boolean> BIT_ARCH_64 =
    96     static final StandardBundlerParam<Boolean> BIT_ARCH_64 =
   101             new StandardBundlerParam<>(
    97             new StandardBundlerParam<>(
   102                     I18N.getString("param.64-bit.name"),
    98                     I18N.getString("param.64-bit.name"),
   103                     I18N.getString("param.64-bit.description"),
    99                     I18N.getString("param.64-bit.description"),
   104                     "win.64Bit",
   100                     "win.64Bit",
   105                     Boolean.class,
   101                     Boolean.class,
   106                     params -> System.getProperty("os.arch").contains("64"),
   102                     params -> System.getProperty("os.arch").contains("64"),
   107                     (s, p) -> Boolean.valueOf(s)
   103                     (s, p) -> Boolean.valueOf(s)
   108             );
   104             );
   109 
   105 
   110     public static final StandardBundlerParam<Boolean> BIT_ARCH_64_RUNTIME =
   106     static final StandardBundlerParam<Boolean> BIT_ARCH_64_RUNTIME =
   111             new StandardBundlerParam<>(
   107             new StandardBundlerParam<>(
   112                     I18N.getString("param.runtime-64-bit.name"),
   108                     I18N.getString("param.runtime-64-bit.name"),
   113                     I18N.getString("param.runtime-64-bit.description"),
   109                     I18N.getString("param.runtime-64-bit.description"),
   114                     "win.64BitJreRuntime",
   110                     "win.64BitJreRuntime",
   115                     Boolean.class,
   111                     Boolean.class,
   118                         return "64".equals(params.get(".runtime.bit-arch"));
   114                         return "64".equals(params.get(".runtime.bit-arch"));
   119                     },
   115                     },
   120                     (s, p) -> Boolean.valueOf(s)
   116                     (s, p) -> Boolean.valueOf(s)
   121             );
   117             );
   122 
   118 
   123     public static final BundlerParamInfo<Boolean> INSTALLDIR_CHOOSER =
   119     static final BundlerParamInfo<Boolean> INSTALLDIR_CHOOSER =
   124             new StandardBundlerParam<> (
   120             new StandardBundlerParam<> (
   125             I18N.getString("param.installdir-chooser.name"),
   121             I18N.getString("param.installdir-chooser.name"),
   126             I18N.getString("param.installdir-chooser.description"),
   122             I18N.getString("param.installdir-chooser.description"),
   127             Arguments.CLIOptions.WIN_DIR_CHOOSER.getId(),
   123             Arguments.CLIOptions.WIN_DIR_CHOOSER.getId(),
   128             Boolean.class,
   124             Boolean.class,