package model.transform;

public class StoreTask extends ImageTransformTask {

    public StoreTask() {
        super("store");
    }

    public StoreTask filename(String filename) {
        addOption("filename", filename);
        return this;
    }

    public StoreTask location(String location) {
        addOption("location", location);
        return this;
    }

    public StoreTask path(String path) {
        addOption("path", path);
        return this;
    }

    public StoreTask container(String container) {
        addOption("container", container);
        return this;
    }

    public StoreTask region(String region) {
        addOption("region", region);
        return this;
    }

    public StoreTask access(String access) {
        addOption("access", access);
        return this;
    }

    public StoreTask base64Decode(boolean base64Decode) {
        addOption("base64decode", base64Decode);
        return this;
    }
}

@@ -72,31 +72,24 @@
 Task %7B%0A%0A    
-public 
 StoreTask() 
@@ -112,32 +112,36 @@
 %22store%22);%0A    %7D%0A
+    
 %0A    public Stor
@@ -136,25 +136,191 @@
  public 
-StoreTask
+static class Builder %7B%0A        private StoreTask storeTask;%0A        %0A        public Builder() %7B%0A            this.storeTask = new StoreTask();%0A        %7D%0A%0A        public Builder
  filenam
@@ -340,32 +340,46 @@
 name) %7B%0A        
+    storeTask.
 addOption(%22filen
@@ -395,32 +395,36 @@
 ename);%0A        
+    
 return this;%0A   
@@ -412,32 +412,36 @@
    return this;%0A
+    
     %7D%0A%0A    publi
@@ -435,32 +435,34 @@
  %7D%0A%0A    
+ 
+   
 public 
-StoreTask
+Builder
  locatio
@@ -482,32 +482,46 @@
 tion) %7B%0A        
+    storeTask.
 addOption(%22locat
@@ -537,32 +537,36 @@
 ation);%0A        
+ 
+   
 return this;%0A   
@@ -554,32 +554,36 @@
    return this;%0A
+    
     %7D%0A%0A    publi
@@ -577,32 +577,34 @@
  %7D%0A%0A    
+ 
+   
 public 
-StoreTask
+Builder
  path(St
@@ -616,32 +616,46 @@
 path) %7B%0A        
+    storeTask.
 addOption(%22path%22
@@ -663,32 +663,36 @@
  path);%0A        
+  
+  
 return this;%0A   
@@ -680,32 +680,36 @@
    return this;%0A
+    
     %7D%0A%0A    publi
@@ -703,32 +703,34 @@
  %7D%0A%0A    
+  
+  
 public 
-StoreTask
+Builder
  contain
@@ -752,32 +752,46 @@
 iner) %7B%0A        
+    storeTask.
 addOption(%22conta
@@ -809,32 +809,36 @@
 ainer);%0A        
+  
+  
 return this;%0A   
@@ -826,32 +826,36 @@
    return this;%0A
+    
     %7D%0A%0A    publi
@@ -849,32 +849,34 @@
  %7D%0A%0A    
+  
+  
 public 
-StoreTask
+Builder
  region(
@@ -892,32 +892,46 @@
 gion) %7B%0A        
+    storeTask.
 addOption(%22regio
@@ -943,32 +943,36 @@
 egion);%0A        
+    
 return this;%0A   
@@ -960,32 +960,36 @@
    return this;%0A
+    
     %7D%0A%0A    publi
@@ -983,32 +983,34 @@
  %7D%0A%0A    
+  
+  
 public 
-StoreTask
+Builder
  access(
@@ -1026,32 +1026,46 @@
 cess) %7B%0A        
+    storeTask.
 addOption(%22acces
@@ -1077,32 +1077,36 @@
 ccess);%0A        
+  
+  
 return this;%0A   
@@ -1098,24 +1098,28 @@
 eturn this;%0A
+    
     %7D%0A%0A    p
@@ -1121,24 +1121,26 @@
     
+  
+  
 public 
-StoreTask
+Builder
  bas
@@ -1181,16 +1181,30 @@
         
+    storeTask.
 addOptio
@@ -1236,32 +1236,36 @@
 ecode);%0A        
+    
 return this;%0A   
@@ -1257,20 +1257,106 @@
 eturn this;%0A
+        %7D%0A%0A        public StoreTask build() %7B%0A            return storeTask;%0A        %7D%0A
     %7D%0A%7D%0A

Refactor StoreTask into builder