456 457 private JPackageCommand adjustArgumentsBeforeExecution() { 458 if (!hasArgument("--runtime-image") && !hasArgument("--app-image") && DEFAULT_RUNTIME_IMAGE != null) { 459 addArguments("--runtime-image", DEFAULT_RUNTIME_IMAGE); 460 } 461 462 if (!hasArgument("--verbose") && Test.VERBOSE_JPACKAGE) { 463 addArgument("--verbose"); 464 } 465 466 return this; 467 } 468 469 String getPrintableCommandLine() { 470 return new Executor() 471 .setExecutable(JavaTool.JPACKAGE) 472 .addArguments(args) 473 .getPrintableCommandLine(); 474 } 475 476 void verifyIsOfType(Collection<PackageType> types) { 477 verifyIsOfType(types.toArray(PackageType[]::new)); 478 } 479 480 void verifyIsOfType(PackageType ... types) { 481 if (!Arrays.asList(types).contains(packageType())) { 482 throw new IllegalArgumentException("Unexpected package type"); 483 } 484 } 485 486 @Override 487 protected boolean isMutable() { 488 return !immutable; 489 } 490 491 private final List<Consumer<JPackageCommand>> actions; 492 private boolean immutable; 493 494 private final static Map<String, PackageType> PACKAGE_TYPES 495 = new Supplier<Map<String, PackageType>>() { 496 @Override 497 public Map<String, PackageType> get() { 498 Map<String, PackageType> reply = new HashMap<>(); 499 for (PackageType type : PackageType.values()) { 500 reply.put(type.getName(), type); | 456 457 private JPackageCommand adjustArgumentsBeforeExecution() { 458 if (!hasArgument("--runtime-image") && !hasArgument("--app-image") && DEFAULT_RUNTIME_IMAGE != null) { 459 addArguments("--runtime-image", DEFAULT_RUNTIME_IMAGE); 460 } 461 462 if (!hasArgument("--verbose") && Test.VERBOSE_JPACKAGE) { 463 addArgument("--verbose"); 464 } 465 466 return this; 467 } 468 469 String getPrintableCommandLine() { 470 return new Executor() 471 .setExecutable(JavaTool.JPACKAGE) 472 .addArguments(args) 473 .getPrintableCommandLine(); 474 } 475 476 public void verifyIsOfType(Collection<PackageType> types) { 477 verifyIsOfType(types.toArray(PackageType[]::new)); 478 } 479 480 public void verifyIsOfType(PackageType ... types) { 481 if (!Arrays.asList(types).contains(packageType())) { 482 throw new IllegalArgumentException("Unexpected package type"); 483 } 484 } 485 486 @Override 487 protected boolean isMutable() { 488 return !immutable; 489 } 490 491 private final List<Consumer<JPackageCommand>> actions; 492 private boolean immutable; 493 494 private final static Map<String, PackageType> PACKAGE_TYPES 495 = new Supplier<Map<String, PackageType>>() { 496 @Override 497 public Map<String, PackageType> get() { 498 Map<String, PackageType> reply = new HashMap<>(); 499 for (PackageType type : PackageType.values()) { 500 reply.put(type.getName(), type); |