1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.domain.input;
18
19 import com.atlassian.jira.rest.client.domain.Version;
20 import org.joda.time.DateTime;
21
22 public class VersionInputBuilder {
23 private final String projectKey;
24 private String name;
25 private String description;
26 private DateTime releaseDate;
27 private boolean archived;
28 private boolean released;
29
30 public VersionInputBuilder(String projectKey) {
31 this.projectKey = projectKey;
32 }
33
34 public VersionInputBuilder(String projectKey, Version version) {
35 this(projectKey);
36 this.name = version.getName();
37 this.description = version.getDescription();
38 this.archived = version.isArchived();
39 this.released = version.isReleased();
40 this.releaseDate = version.getReleaseDate();
41 }
42
43
44 public VersionInputBuilder setName(String name) {
45 this.name = name;
46 return this;
47 }
48
49 public VersionInputBuilder setDescription(String description) {
50 this.description = description;
51 return this;
52 }
53
54 public VersionInputBuilder setReleaseDate(DateTime releaseDate) {
55 this.releaseDate = releaseDate;
56 return this;
57 }
58
59 public VersionInputBuilder setArchived(boolean archived) {
60 this.archived = archived;
61 return this;
62 }
63
64 public VersionInputBuilder setReleased(boolean released) {
65 this.released = released;
66 return this;
67 }
68
69 public VersionInput build() {
70 return new VersionInput(projectKey, name, description, releaseDate, archived, released);
71 }
72 }