1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.linecorp.centraldogma.internal.api.v1;
18
19 import static com.google.common.base.Strings.isNullOrEmpty;
20 import static java.util.Objects.requireNonNull;
21
22 import javax.annotation.Nullable;
23
24 import com.fasterxml.jackson.annotation.JsonProperty;
25 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
26 import com.google.common.base.MoreObjects;
27 import com.google.common.base.MoreObjects.ToStringHelper;
28
29 import com.linecorp.centraldogma.common.Markup;
30
31 @JsonDeserialize(using = CommitMessageDtoDeserializer.class)
32 public class CommitMessageDto {
33
34 private final String summary;
35
36 private final String detail;
37
38 private final Markup markup;
39
40 public CommitMessageDto(String summary, @Nullable String detail, @Nullable Markup markup) {
41 this.summary = requireNonNull(summary, "summary");
42 this.detail = isNullOrEmpty(detail) ? "" : detail;
43 this.markup = markup == null ? Markup.UNKNOWN : markup;
44 }
45
46 @JsonProperty("summary")
47 public String summary() {
48 return summary;
49 }
50
51 @JsonProperty("detail")
52 public String detail() {
53 return detail;
54 }
55
56 @JsonProperty("markup")
57 public Markup markup() {
58 return markup;
59 }
60
61 @Override
62 public String toString() {
63 final ToStringHelper stringHelper = MoreObjects.toStringHelper(this)
64 .add("summary", summary());
65 if (!isNullOrEmpty(detail)) {
66 stringHelper.add("detail", detail());
67 stringHelper.add("markup", markup());
68 }
69 return stringHelper.toString();
70 }
71 }