View Javadoc

1   package org.rundeck.api;
2   
3   import org.rundeck.api.domain.RundeckJobsImportMethod;
4   import org.rundeck.api.domain.RundeckJobsUUIDImportBehavior;
5   
6   import java.io.InputStream;
7   
8   /**
9    * Builds a {@link RundeckJobsImport}
10   */
11  public class RundeckJobsImportBuilder {
12      private DefaultJobsImport jobsImport;
13  
14      public RundeckJobsImportBuilder() {
15          jobsImport = new DefaultJobsImport();
16      }
17  
18      public RundeckJobsImportBuilder(final RundeckJobsImport original) {
19          jobsImport = new DefaultJobsImport();
20          jobsImport.setStream(original.getStream());
21          jobsImport.setFileType(original.getFileType());
22          jobsImport.setProject(original.getProject());
23          jobsImport.setImportMethod(original.getImportMethod());
24          jobsImport.setUuidImportBehavior(original.getUuidImportBehavior());
25      }
26  
27      /**
28       * Create a new builder
29       * @return
30       */
31      public static RundeckJobsImportBuilder builder() {
32          return new RundeckJobsImportBuilder();
33      }
34  
35      /**
36       * Create a builder initialized with an existing {@link RundeckJobsImport}
37       * @param original
38       * @return
39       */
40      public static RundeckJobsImportBuilder builder(final RundeckJobsImport original) {
41          return new RundeckJobsImportBuilder(original);
42      }
43  
44      public RundeckJobsImportBuilder setProject(final String project) {
45          jobsImport.setProject(project);
46          return this;
47      }
48  
49      public RundeckJobsImportBuilder setStream(final InputStream stream) {
50          jobsImport.setStream(stream);
51          return this;
52      }
53  
54      public RundeckJobsImportBuilder setFileType(final FileType filetype) {
55          jobsImport.setFileType(filetype);
56          return this;
57      }
58  
59      public RundeckJobsImportBuilder setJobsImportMethod(final RundeckJobsImportMethod behavior) {
60          jobsImport.setImportMethod(behavior);
61          return this;
62      }
63      public RundeckJobsImportBuilder setUUIDImportBehavior(final RundeckJobsUUIDImportBehavior behavior) {
64          jobsImport.setUuidImportBehavior(behavior);
65          return this;
66      }
67  
68      public RundeckJobsImport build() {
69          final RundeckJobsImport built = jobsImport;
70          jobsImport = new DefaultJobsImport();
71          return built;
72      }
73  }