]> source.dussan.org Git - pf4j.git/commitdiff
Improve PluginZip
authordecebals <decebal.suiu@gmail.com>
Thu, 30 May 2019 19:02:38 +0000 (22:02 +0300)
committerdecebals <decebal.suiu@gmail.com>
Thu, 30 May 2019 19:02:38 +0000 (22:02 +0300)
pf4j/src/test/java/org/pf4j/plugin/PluginZip.java

index 5f705e128cb7bc52b9b42c96aaf59dac570e2d7f..f34d84a3c19b76d6a683ba6d4b242bdee0b5237a 100644 (file)
@@ -17,6 +17,7 @@ package org.pf4j.plugin;
 
 import org.pf4j.PropertiesPluginDescriptorFinder;
 
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.file.Path;
@@ -50,6 +51,10 @@ public class PluginZip {
         return path;
     }
 
+    public File file() {
+        return path.toFile();
+    }
+
     public String pluginId() {
         return pluginId;
     }
@@ -83,7 +88,7 @@ public class PluginZip {
 
         private String pluginClass;
         private String pluginVersion;
-        private Map<String, String> properties;
+        private Map<String, String> properties = new LinkedHashMap<>();
 
         public Builder(Path path, String pluginId) {
             this.path = path;
@@ -104,9 +109,20 @@ public class PluginZip {
 
         /**
          * Add extra properties to the {@code properties} file.
+         * As possible attribute name please see {@link PropertiesPluginDescriptorFinder}.
          */
         public Builder properties(Map<String, String> properties) {
-            this.properties = properties;
+            this.properties.putAll(properties);
+
+            return this;
+        }
+
+        /**
+         * Add extra property to the {@code properties} file.
+         * As possible property name please see {@link PropertiesPluginDescriptorFinder}.
+         */
+        public Builder property(String name, String value) {
+            properties.put(name, value);
 
             return this;
         }